如何在分区数据上创建表

时间:2019-04-25 14:55:11

标签: hive

我有按字段'process_time'(Flume作业结果)分区的具有快速压缩功能的文本文件。示例:hdfs://data/mytable/process_time=25-04-2019

这是我创建表的脚本:

CREATE EXTERNAL TABLE mytable
(
... 
) 
PARTITIONED BY (process_time STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
STORED AS TEXTFILE 
LOCATION '/data/mytable/'
TBLPROPERTIES("textfile.compress"="snappy");

针对该表的查询结果始终为0(但我知道有一些数据)。有帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

creating external table上方HDFS directory的情况下,要将分区添加到配置单元表中,我们需要运行以下两个命令之一。

  • 如果将任何分区直接添加到 HDFS (instead of using insert queries),则配置单元不知道关于新添加的分区,因此我们需要运行{{1 }}将新添加的分区添加到配置单元表中。

msck (or) add partitions

To add all partitions to hive table:

(或)

hive> msck repair table <db_name>.<table_name>;

To manually add each partition to hive table:

有关此链接的更多详细信息refer