在Hive上为具有凭据的Azure Blob创建EXTERNAL表

问题描述 投票:0回答:1

我们在s3中有很多存储帐户,现在在wasb (azure blob)中。当我如下所示的access时,我为s3提供secretEXTERNAL TABLE键。

CREATE EXTERNAL TABLE IF NOT EXISTS Table_S3
(
col1                      string,
col2                      string
)
STORED AS ORC
LOCATION 's3a://*ACCESS_KEY*:*SECRET_KEY*@bucket_name/direc_name/'
tblproperties ("orc.comlress"="ZLIB");

我如何在Blob中做到这一点?

CREATE EXTERNAL TABLE IF NOT EXISTS Table_WASB
(
col1                      string,
col2                      string
)
STORED AS ORC
LOCATION 
'wasb://[email protected]_ACCOUNT_NAME.blob.core.windows.net/direc_name/'
tblproperties ("orc.comlress"="ZLIB");

我想在这里使用create table语法设置存储访问密钥,以便我可以访问多个存储帐户,而不必在core-site.xml中定义凭据

azure amazon-s3 hive azure-storage-blobs hdinsight
1个回答
0
投票

您需要通过Ambari修改配置以在配置单元上创建外部表,该表按如下所示映射到Azure Blob存储:

可以通过以下步骤通过Ambari将存储帐户添加到现有群集中

步骤1:转到Ambari仪表板https://clustername.azurehdinsight.net/

第2步:导航到HDFS->配置->高级,向下滚动到“自定义核心站点”

enter image description here

[步骤3:选择添加属性,然后按照以下方式输入您的存储帐户名称和密钥

HDFS >>自定义核心站点

密钥=> fs.azure.account.key。(storage_account).blob.core.windows.net

值=>(存储访问密钥)

enter image description here

第4步:导航到HIVE =>配置=>高级,向下滚动到Custom hive-env

enter image description here

[步骤5:选择添加属性,然后按照以下方式输入您的存储帐户名称和密钥

Hive = >> 自定义Hive-env

键=> AZURE_STORAGE_ACCOUNT

值=>(存储帐户名称)

键=> AZURE_STORAGE_KEY

值=>(存储访问密钥)

enter image description here

步骤6:从Ambari重新启动服务

enter image description here

希望这会有所帮助。

热门问题
推荐问题
最新问题