是这样的,我现在有一个需求就是在 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 以外的数据源读取数据的能力?
1
MinGo215 2020-05-27 11:44:14 +08:00
额,分区不多的话直接 show partitions 就好了啊
|
2
31p7410 2020-05-27 12:00:36 +08:00
show partitions, 分区多的话 hadoop fs -ls /user/hive/warehouse/database.db/t/p1=test/
|
3
ackoly 2020-05-27 12:06:35 +08:00 via iPhone
记得支持建立映射表,直读关系型数据库
|