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

时间:2018-07-23 19:22:11

标签: hive impala external-tables

由于数据量大,这个问题与我在stackoverflow上发现的问题有所不同,它不会重复。

我们正在使用Cloudera。

我已经看到在标头中只有少数列的小型xlsx文件的解决方案,在我的情况下,要加载到新的配置单元表中的csv文件具有618列。

  1. 如果我通过HUE->文件浏览器上传(默认保存为csv),默认情况下将其保存为拼花地板吗?如果没有,我在哪里可以指定文件格式?

  2. 根据该位置创建外部Impala表的最佳方法是什么?如果我需要手动创建DDL /架构,那肯定是令人难以置信的,因为列太多了。

非常感谢您。

1 个答案:

答案 0 :(得分:1)

答案:

  • 文本文件是通过Hive表生成的默认文件格式。但是可以在hive.default.fileformat上配置它,也可以在创建表时明确提及它。您可以将CSV文件上传到HDFS中所需的任何目录中。 HDFS中存在数据后,您可以在CSV数据上创建表。创建表时,您可以指定格式。
  • 使用色相创建表。它根据CSV文件中的标题行动态生成列名。它假定每个字段都是字符串数据类型。我们需要明确照顾数据类型。在hive metastore中创建表后,即可通过Hive和Impala查询使用该表。

这篇文章将提供一个好的开始: http://gethue.com/hadoop-tutorial-create-hive-tables-with-headers-and/

简而言之, 将数据移至(如下所示)

  

HDFS =>使用Hue创建表(照顾数据类型)=>现在查询   数据使用Impala编辑器。