hive 分区表select全部数据_Hive:如何显示表的所有分区?

好吧,我正在通过扩展wmky的回答&以上的方式来写这个答案,假设您已经为您的Metastore而不是Derby配置了mysql。

select PART_NAME FROM PARTITIONS WHERE TBL_ID=(SELECT TBL_ID FROM TBLS WHERE TBL_NAME='');

以上查询为您提供了分区列的所有可能值。

例子:

hive> desc clicks_fact;

OK

time timestamp

..

day date

file_date varchar(8)

# Partition Information

# col_name data_type comment

day date

file_date varchar(8)

Time taken: 1.075 seconds, Fetched: 28 row(s)

我要取分列的值。

mysql> select PART_NAME FROM PARTITIONS WHERE TBL_ID=(SELECT TBL_ID FROM TBLS WHERE TBL_NAME='clicks_fact');

+-----------------------------------+

| PART_NAME |

+-----------------------------------+

| day=2016-08-16/file_date=20160816 |

| day=2016-08-17/file_date=20160816 |

....

....

| day=2017-09-09/file_date=20170909 |

| day=2017-09-08/file_date=20170909 |

| day=2017-09-09/file_date=20170910 |

| day=2017-09-10/file_date=20170910 |

+-----------------------------------+

1216 rows in set (0.00 sec)

返回所有分区列。

注:JOIN表DBS ON DB_ID当有涉及到DB(即,时,多个数据库的有相同的表名)


版权声明:本文为weixin_36486455原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。