在配置单元上为具有凭据的azure blob创建外部表

bcs8qyzn  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(266)

我们有相当多的存储帐户 s3 现在在 wasb (azure blob) . 我提供 access 以及 secret s3的钥匙 EXTERNAL 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中定义凭据

x7rlezfr

x7rlezfr1#

如果表不存在,则创建外部表\u wasb(col1
字符串,col2字符串)存储为orc位置'wasb://container_name@storate_account_name.blob.core.windows.net/direc_name/'tblproperty(“orc.compress”=“zlib”);
应该是正确的。
您可能需要授予对服务主体的访问权以保存该存储上的数据,或者访问存储资源管理器(从portal.azure)>容器>访问并允许用户执行该查询(您的服务主体)。
如果您使用hdinsights,您可以与我们共享特定错误。

相关问题