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

2020-05-27 11:02:03 +08:00
 leavan

是这样的,我现在有一个需求就是在 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 以外的数据源读取数据的能力?

1361 次点击
所在节点    程序员
4 条回复
MinGo215
2020-05-27 11:44:14 +08:00
额,分区不多的话直接 show partitions 就好了啊
31p7410
2020-05-27 12:00:36 +08:00
show partitions, 分区多的话 hadoop fs -ls /user/hive/warehouse/database.db/t/p1=test/
ackoly
2020-05-27 12:06:35 +08:00
记得支持建立映射表,直读关系型数据库
leavan
2020-05-27 12:12:01 +08:00
@MinGo215 是想把分区信息作为一个表去读取和处理这些信息,show partitions 只是单纯的列举分区,而且也没法写进 SQL 里吧。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/675891

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX