Hive外部表未显示分区

3
我已经使用Hive创建了一个外部表。我的
hive> desc <table_name>;

显示以下输出:
OK
transactiontype         string                                      
transactionid           int                                         
sourcenumber            int                                         
destnumber              int                                         
amount                  int                                         
assumedfield1           int                                         
transactionstatus       string                                      
assumedfield2           int                                         
assumedfield3           int                                         
transactiondate         date                                        
customerid              int                                         

# Partition Information      
# col_name              data_type               comment             

  transactiondate       date                                        
  customerid            int                                         
  Time taken: 0.094 seconds, Fetched: 17 row(s)

但是当我执行以下命令时:

hive> show partitions <dbname.tablename>;
OK
Time taken: 0.11 seconds

没有显示任何分区。可能的问题是什么?当我查看hive.log时,表中的数据似乎根据'transactiondate'和'customerid'字段正确地进行了分区。单个节点最大应具有多少个分区?我已设置1000个分区。

2015-06-15 10:33:44,713 INFO  [LocalJobRunner Map Task Executor #0]:       exec.FileSinkOperator (FileSinkOperator.java:createBucketForFileIdx(593)) - Writing to temp file: FS hdfs://localhost:54310/home/deepak/mobile_money_jan.txt/.hive-staging_hive_2015-06-15_10-30-53_308_5507019849041735537-1/_task_tmp.-ext-10002/transactiondate=2015-01-16/customerid=34560544/_tmp.000002_0

我正在一个单节点的Hadoop集群上运行Hive。

2个回答

0

尝试手动添加分区

> alter table db.table add IF NOT EXISTS
> partition(datadate='2017-01-01') location
>'hdfs_location/datadate=2017-01-01'

0

嗨,每当我们创建一个外部表时,它的位置会更改为HIVE METADATA中指定的位置,这意味着现在这些更改也反映在Hive元数据存储中。 但是分区信息保持不变,分区信息不会在Hive元数据存储中更新,因此我们需要手动添加这些分区。

ALTER TABLE "your-table" ADD PARTITION(transactiondate='datevalue',customerid='id-value');

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接