我从主管那里得到了一个项目任务,他声称可以在HDInsight(用于Windows)中使用Hive,以便查询两种不同的文件类型,然后从它们中提取数据。这些文件之一是.xls文件,另一个是.csv文件。
我已经设法通过VS将这两个文件上传到Hadoop集群,然后尝试从.xls文件创建Hive表(在使用.csv文件与Hive配合良好的前提下,我曾使用过教程),但使用.xls文件,尝试时不断收到“失败”错误。
我尝试了以下示例代码来创建表,定界,字段终止(其中我尝试了几次但没有成功),文件类型(不确定在此还要使用什么)和目标位置。
DROP TABLE IF EXISTS table1;
CREATE EXTERNAL TABLE IF NOT EXISTS table1(id int, postcde int, city string)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ' '
STORED AS TEXTFILE LOCATION 'wasb://container@resourcegroup.blob.core.windows.net/folder1/data.xls/'
Run Code Online (Sandbox Code Playgroud)
我不确定这是否可能实现,因为这里似乎对类似的问题存在矛盾的回答,但是据我的主管说,应该使用Hive做到这一点- 无需将文件类型转换为相同格式,然后再上传到Hadoop!