我正在使用以下命令在hive
中创建一个表:
CREATE EXTERNAL TABLE azure_test_table
(
col1 string,
col2 string
)
STORED AS ORC
LOCATION 'wasbs://container_name@storage_account_name.blob.core.windows.net/directory/'
tblproperties ("orc.comlress"="ZLIB");
运行SELECT * FROM azure_test_table limit 1;
时出现错误。
失败,例外 java.io.IOException:org.apache.hadoop.fs.azure.AzureException: org.apache.hadoop.fs.azure.AzureException:帐户中的容器myntra 找不到analyticsfe.blob.core.windows.net,我们无法创建它 使用匿名凭证。
我已在hive-site.xml
中添加了存储帐户属性,如下所示:
<property>
<name>fs.azure.account.key.storage_account_name.blob.core.windows.net</name>
<value>access_key_for_the_account</value>
</property>
我想念什么?你能帮忙吗?
答案 0 :(得分:0)
您需要通过Ambari修改配置,以在配置单元上创建外部表,该表按以下方式映射到Azure Blob存储:
可以通过以下步骤通过Ambari将存储帐户添加到现有群集中
步骤1:转到Ambari信息中心https://clustername.azurehdinsight.net/
步骤2:导航至HDFS->配置->高级,向下滚动至“自定义”核心站点
第3步:选择添加属性,然后按照以下方式输入您的存储帐户名称和密钥
HDFS >>自定义核心站点
Key => fs.azure.account.key。(storage_account).blob.core.windows.net
值=>(存储访问密钥)
步骤4::导航到HIVE =>配置=>高级,向下滚动到“自定义hive-env”
第5步:选择添加媒体资源,然后按照以下方式输入您的存储帐户名称和密钥
配置单元 = >> 自定义配置单元环境
键=> AZURE_STORAGE_ACCOUNT
值=>(存储帐户名称)
键=> AZURE_STORAGE_KEY
值=>(存储访问密钥)
步骤6 :从Ambari重新启动服务
希望这会有所帮助。