草庐IT

hadoop - 如何强制 CTAS 生成单个文件?

我正在使用HDP2.5和Hive服务。当我使用以下查询创建配置单元表时;createtableSample_tablerowformatdelimitedfieldsterminatedby'|'storedastextfileASselect*fromsample_table_uniquewherestate='AL';要么我可以创建具有特定位置的外部表。我的问题是,当我创建表/外部表时,存储的文件已被拆分,即。如下图所示,明智的文件已被拆分。/apps/hive/warehouse/sampledb/sample_table:00000_0,00001_0,00002_0,0000

hadoop - 为什么配置单元不允许使用 CTAS 创建外部表?

在hive中,通过CTAS创建外部表是一个语义错误,为什么?CTAS创建的表是原子的,而externaltable是指droptable时不会删除数据,看起来并不冲突。 最佳答案 在Hive中,当我们创建表(非外部)时,数据将存储在/user/hive/warehouse中。但是在外部配置单元表创建过程中,文件将在其他任何地方,我们只是指向那个hdfs目录并将数据公开为配置单元表以运行配置单元查询等。这个SO回答更准确Createhivetableusing"asselect"or"like"andalsospecifydelimi