如何在HDInsight中将数据上传到Hive?

时间:2015-08-25 19:27:39

标签: azure hadoop hive hiveql hdinsight

我正在尝试将blob数据从Azure blob存储上传到Hive表,该表具有以下格式保存在名为myblob_test.csv的.csv文件中:

enter image description here

以下脚本用于创建表:

CREATE TABLE IF NOT EXISTS AzureData.Events(
Day STRING,
Event_Type STRING,
Time_Stamp STRING
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LINES TERMINATED BY '\n'
STORED AS TEXTFILE LOCATION '/bigdatapoc1/azure-data-2/myblob_test.csv';

我的文件保存在以下位置enter image description here

当我运行表create命令时,它完成而没有错误。但是当我查询:

select * from AzureData.Events; 

我一无所获。所以我尝试使用以下命令上传blob文件:

LOAD DATA INPATH 'wasb://azure-data-2@bigdatapoc1.blob.core.windows.net/myblob_test.csv' INTO TABLE AzureData.Events;

我收到以下错误:

enter image description here

LOAD DATA INPATH '/bigdatapoc1/azure-data-2/myblob_test.csv' INTO TABLE AzureData.Events;

给出以下错误:

enter image description here

我不确定我做错了什么。有人可以指出我错过了哪一步吗?

1 个答案:

答案 0 :(得分:1)

首先,您需要了解blob容器具有私有和公共访问权限。如果它是公共的,您的群集可以评估容器。否则,您将需要在配置过程中将Azure存储帐户添加为其他存储帐户。供应过程将存储帐户访问密钥写入站点配置文件。这样集群就可以访问容器了。要添加其他存储帐户,请参阅https://azure.microsoft.com/en-us/documentation/articles/hdinsight-provision-clusters/

要访问blob容器,请使用以下语法: wasb [S]://@.blob.core.windows.net/ 有关详细信息,请参阅https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-use-blob-storage/