如何在分区数据上创建表

s5a0g9ez  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(303)

我有一个文本文件,压缩速度很快,按字段'process\u time'(flume作业的结果)划分。例子: hdfs://data/mytable/process_time=25-04-2019 这是我的create table脚本:

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(但是我知道有一些数据)。有什么帮助吗?
谢谢!

p8h8hvxi

p8h8hvxi1#

像你一样 creating external table 在…之上 HDFS directory 然后要将分区添加到配置单元表中,我们需要运行以下任一命令。
如果任何分区直接添加到hdfs (instead of using insert queries) 那么hive不知道新添加的分区,所以我们也需要运行它们 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:` ```
hive> alter table <db_name>.<table_name> add partition(process_time="25-04-2019") 
      location '/data/mytable/process_time=25-04-2019';

有关更多详细信息,请参阅此链接。

相关问题