Hive 基于HDFS上的csv文件创建外部配置单元表的最佳实践是什么,标题中有618列?

Hive 基于HDFS上的csv文件创建外部配置单元表的最佳实践是什么,标题中有618列?,hive,impala,external-tables,Hive,Impala,External Tables,这个问题与我在stackoverflow上发现的不同,因为数据的大小不同,它不是重复的 我们正在使用Cloudera 我已经看到了头文件中只有少数列的小型xlsx文件的解决方案,在我的例子中,要加载到新配置单元表中的csv文件有618列 如果我先通过色调->文件浏览器将其上传并保存到csv,默认情况下会保存为拼花地板吗?如果没有,我可以在哪里指定文件格式 基于该位置创建外部黑斑羚表的最佳方法是什么?如果我需要手动创建DDL/模式,那肯定是难以置信的,因为有这么多列 非常感谢。答案: 文本文件是通

这个问题与我在stackoverflow上发现的不同,因为数据的大小不同,它不是重复的

我们正在使用Cloudera

我已经看到了头文件中只有少数列的小型xlsx文件的解决方案,在我的例子中,要加载到新配置单元表中的csv文件有618列

如果我先通过色调->文件浏览器将其上传并保存到csv,默认情况下会保存为拼花地板吗?如果没有,我可以在哪里指定文件格式

基于该位置创建外部黑斑羚表的最佳方法是什么?如果我需要手动创建DDL/模式,那肯定是难以置信的,因为有这么多列

非常感谢。

答案:

文本文件是通过配置单元表生成的默认文件格式。但可以在hive.default.fileformat中配置它,也可以在创建表时明确提及它。您可以将CSV文件上载到HDFS中所需的任何目录中。一旦数据存在于HDFS中,您就可以在CSV数据上创建一个表。创建表格时,可以指定格式。 使用色调创建表格。它根据CSV文件中的标题行动态生成列名。它假定每个字段都是字符串数据类型。我们需要显式地处理数据类型。在配置单元元存储中创建表后,可以通过配置单元和Impala查询使用该表。 这篇文章将提供一个良好的开端:

简言之, 将数据移动到,如下所示

HDFS=>使用Huetake数据类型维护创建表=>Now查询 数据使用Impala编辑器


我觉得绝对难以置信的是,您不能仅仅使用头记录来生成带有几行脚本的CREATE表。例如,一个普通的Linux head-n1 turd.csv | sed's/,/String、\n/g'命令可以将头拆分为618行,并在每个列名后追加字符串。剩下的很简单。谢谢你,我们需要的是如何将HDFS默认文件保存为拼花,如果我将默认值更改为hive.default.fileformat=parquet,更新后的文件会自动保存为拼花吗?