• 请不要在回答技术问题时复制粘贴 AI 生成的内容
leavan
V2EX  ›  程序员

hive 是否支持从 hdfs 以外的数据源读取数据?

  •  
  •   leavan · May 27, 2020 · 2092 views
    This topic created in 2187 days ago, the information mentioned may be changed or developed.

    是这样的,我现在有一个需求就是在 hivesql 中把某个 partition_key 列举出来,比如对于表 t

    CREATE TABLE t (
      num int)
    PARTITIONED BY (
      p1 string,
      p2 string);
    

    我需要把 p1 确定的情况下的 p2 列举出来,比如

    select distinct(p2) from t where p1 = 'test';
    

    理论上来说,这个查询只涉及到元数据库中的数据,没必要去 hdfs 上把每条数据都读出来,但 hive 确实是这样做了,效率非常低。

    所以现在的想法就是我自己来实现这个逻辑,允许 hive 能够直接从自己的元数据库中读取信息,想知道 hive 有没有从 hdfs 以外的数据源读取数据的能力?

    4 replies    2020-05-27 12:12:01 +08:00
    MinGo215
        1
    MinGo215  
       May 27, 2020
    额,分区不多的话直接 show partitions 就好了啊
    31p7410
        2
    31p7410  
       May 27, 2020
    show partitions, 分区多的话 hadoop fs -ls /user/hive/warehouse/database.db/t/p1=test/
    ackoly
        3
    ackoly  
       May 27, 2020 via iPhone
    记得支持建立映射表,直读关系型数据库
    leavan
        4
    leavan  
    OP
       May 27, 2020
    @MinGo215 是想把分区信息作为一个表去读取和处理这些信息,show partitions 只是单纯的列举分区,而且也没法写进 SQL 里吧。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   969 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 19:25 · PVG 03:25 · LAX 12:25 · JFK 15:25
    ♥ Do have faith in what you're doing.