Hive 如何在分区数据上创建表

Hive 如何在分区数据上创建表,hive,Hive,我有一个文本文件,压缩速度很快,按字段“process\u time”(Flume作业的结果)进行分区。示例:hdfs://data/mytable/process_time=25-2019年4月 这是我创建表的脚本: CREATE EXTERNAL TABLE mytable ( ... ) PARTITIONED BY (process_time STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFI

我有一个文本文件,压缩速度很快,按字段“process\u time”(Flume作业的结果)进行分区。示例:
hdfs://data/mytable/process_time=25-2019年4月

这是我创建表的脚本:

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


谢谢

当您在
HDFS目录
上创建外部表时,要将分区添加到配置单元表中,我们需要运行以下任一命令

  • 如果任何分区直接添加到HDFS
    (而不是使用插入查询)
    ,则hive不知道有关新添加分区的信息,因此我们需要运行
    msck(或)add partitions
    ,将新添加的分区添加到hive表中
向配置单元表添加所有分区:

hive> msck repair table <db_name>.<table_name>;
hive> alter table <db_name>.<table_name> add partition(process_time="25-04-2019") 
      location '/data/mytable/process_time=25-04-2019';
有关此链接的更多详细信息