使用凭据在Hive for Azure Blob上创建EXTERNAL表

时间:2019-09-17 12:57:24

标签: azure amazon-s3 hive azure-storage-blobs hdinsight

我们在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://container_name@STORATE_ACCOUNT_NAME.blob.core.windows.net/direc_name/'
tblproperties ("orc.comlress"="ZLIB");

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

1 个答案:

答案 0 :(得分:0)

  

如果不存在Table_WASB,则创建外部表(col1
  字符串,col2字符串)存储为ORC位置   'wasb://container_name@STORATE_ACCOUNT_NAME.blob.core.windows.net/direc_name/'   tblproperties(“ orc.compress ” =“ ZLIB”);

应该正确。

可能您需要授予对服务主体的访问权限,以将数据保存在该存储上或访问存储资源管理器(来自portal.azure)>容器>访问权限,并允许用户执行该查询(您的服务主体)。 / p>

如果您使用hdinsights,则可以与我们分享特定的错误。