配置单元外部 table 映射到 Azure 存储授权问题

hive External table maps to Azure Storage Authorization issue

我正在映射到 Azure Blob 存储的配置单元上创建外部 table

CREATE EXTERNAL TABLE test(id bigint, name string, dob timestamp, salary decimal(14,4), line_number bigint) STORED AS PARQUET LOCATION 'wasb://(container)@(Stroage_Account).blob.core.windows.net/test'

低于异常

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:Got exception: org.apache.hadoop.fs.azure.AzureException com.microsoft.azure.storage.StorageException: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.)

我在这里使用的存储帐户不是附加到 hdinsight 集群的主存储帐户

有人可以帮我解决这个问题吗?

我可以通过在下面添加配置来解决这个问题,我已经通过 Ambari 服务器完成了这个

HDFS >>自定义核心站点
fs.azure.account.key.(storage_account).blob.core.windows.net=(访问 键)

fs.azure.account.key提供商。(storage_account).blob.core.windows.net=org.apache.hadoop.fs.azure.SimpleKeyProvider

Hive >> 自定义 hive-env

AZURE_STORAGE_ACCOUNT=(存储帐户名称)

AZURE_STORAGE_KEY=(访问密钥)