我现在准备将.csv文件中的数据存储到配置单元中。当然,由于parquet文件格式的良好性能,配置单元表应该是parquet格式。所以,通常的方法是创建一个temp表,其格式是 textfile
,然后我将本地csv文件数据加载到这个temp表中,最后,创建一个结构相同的parquet表并使用sql insert into parquet_table values (select * from textfile_table);
.
但我不认为这个临时文本文件表是必要的。所以,我的问题是,有没有一种方法可以让我直接将这些本地的.csv文件加载到hiveparquet格式的表中,即不使用临时表?或者更简单的方法来完成这个任务?
1条答案
按热度按时间brc7rcf01#
如hive文档中所述:
load命令不执行针对模式的数据验证。
如果文件在hdfs中,它将被移动到hive控制的文件系统名称空间中。
你可以通过使用
CREATE TABLE AS SELECT
为了Parquet地板table。因此,您将有3个步骤:
创建定义架构的文本表
将数据加载到文本表中(将文件移到新表中)
CREATE TABLE parquet_table AS SELECT * FROM textfile_table STORED AS PARQUET;
从配置单元0.13支持