如何使用帐户和帐户密钥使用 Azure WASB 存储创建 Hive table?

How to create Hive table with Azure WASB storage using account and account-key?

以前我使用 AWS 并使用 presto 读取数据,现在转移到 Azure 并想使用 blob 存储为不同的帐户创建配置单元 tables,但我无法创建它。 我正在为以下格式的 aws 创建配置单元 tables。

CREATE TABLE hive.web.request_logs (
  request_time timestamp,
  url varchar,
  ip varchar,
  user_agent varchar
)
WITH (
  format = 'ORC',
  external_location = 's3a://key:secret-key@my-bucket/data/logs/'
)

我正在为 Azure 尝试以下代码:

CREATE TABLE hive.web.request_logs (
  request_time timestamp,
  url varchar,
  ip varchar,
  user_agent varchar
)
WITH (
  format = 'ORC',
  external_location = 'wasb://account:account-key.blob.core.windows.net@my-bucket/data/logs/'
)

我希望为不同帐户和帐户密钥的 Azure blob 存储创建配置单元 table。

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

可以按照以下步骤通过 Ambari 添加现有集群的存储帐户

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

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

步骤 3: Select 添加 属性 并按以下方式输入您的存储帐户名称和密钥

HDFS >>自定义核心站点

键 => fs.azure.account.key.(storage_account).blob.core.windows.net

值 =>(存储访问密钥)

步骤 4: 导航到 HIVE => 配置 => 高级,向下滚动到自定义 hive-env

步骤 5: Select 添加 属性 并按以下方式输入您的存储帐户名称和密钥

Hive =>> 自定义配置单元环境

键 => AZURE_STORAGE_ACCOUNT

值 =>(存储帐户名称)

键 => AZURE_STORAGE_KEY

值 =>(存储访问密钥)

步骤 6:从 Ambari 重启服务

希望对您有所帮助。