未为创建的新配置单元表创建分区文件

Posted

技术标签:

【中文标题】未为创建的新配置单元表创建分区文件【英文标题】:Partition file not creating for new hive table created 【发布时间】:2019-07-25 10:20:58 【问题描述】:

表创建成功,但未创建分区/未创建分区文件。

 CREATE EXTERNAL TABLE table_name(col1,col2)
    PARTITIONED BY (`biz_dt` date) -- partition created 
    ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde'
    WITH SERDEPROPERTIES('quoteChar'='\"','separatorChar'=',')
    STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat'                                           
    OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'                   
    LOCATION 'hdfs://path/'  
    TBLPROPERTIES ('skip.header.line.count'='1','transient_lastDdlTime'='1563368415');

【问题讨论】:

【参考方案1】:

当您创建新表时,不会创建任何文件。它只会创建存储文件的文件夹(如果不存在),仅此而已。 文件将在您将数据插入表格的那一刻创建。

此外,在您添加之前不会添加任何分区(更改表,或通过插入表动态)。

希望这对您有所帮助。

【讨论】:

以上是关于未为创建的新配置单元表创建分区文件的主要内容,如果未能解决你的问题,请参考以下文章

将分区添加到没有数据的配置单元表

为数据集创建了外部 Bigquery 配置单元分区表,但无法查看具有分区键的列

在 spark 中创建带有模式的配置单元外部表

如何从配置单元表插入分区表(作为镶木地板)?

通过 pyspark 数据框创建配置单元管理的分区表并为每个运行附加数据

无法对 HDFS 支持的配置单元表进行分区