直接将本地csv文件加载到hive parquet表,而不是求助于temp textfile表

mbjcgjjk  于 2021-06-28  发布在  Hive
关注(0)|答案(1)|浏览(515)

我现在准备将.csv文件中的数据存储到配置单元中。当然,由于parquet文件格式的良好性能,配置单元表应该是parquet格式。所以,通常的方法是创建一个temp表,其格式是 textfile ,然后我将本地csv文件数据加载到这个temp表中,最后,创建一个结构相同的parquet表并使用sql insert into parquet_table values (select * from textfile_table); .
但我不认为这个临时文本文件表是必要的。所以,我的问题是,有没有一种方法可以让我直接将这些本地的.csv文件加载到hiveparquet格式的表中,即不使用临时表?或者更简单的方法来完成这个任务?

brc7rcf0

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支持

相关问题