gpt4 book ai didi

hadoop - 在 Amazon S3 中创建由 Avro 文件支持的 Hive 表时出现问题

转载 作者:可可西里 更新时间:2023-11-01 16:14:27 27 4
gpt4 key购买 nike

我一直在尝试在 S3 中创建一个由 Avro 文件支持的 Hive 表。最初,我认为这可能相对简单,但我遇到了以下错误。

这是创建表的命令:

set fs.s3.awsAccessKeyId=ACCESS_KEY_ID;
set fs.s3.awsSecretAccessKey=SECRET_ACCESS_KEY;
use some_database;
CREATE EXTERNAL TABLE experiment_with_s3_backed_data
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES (
'avro.schema.literal'='{
"namespace": "",
"type": "record",
"name": "SomeAvroSchema",
"fields": [
{"name": "someVariable","type":"string"}
]
}')
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION 's3://MY_BUCKET/some/data/'
;

这是我得到的错误:

AWS Access Key ID and Secret Access Key must be specified as the username or password (respectively) of a s3 URL, or by setting the fs.s3.awsAccessKeyId or fs.s3.awsSecretAccessKey properties (respectively).

我尝试同时使用 s3s3n URL 和参数,结果相同。我注意到相关问题,建议将 key 添加到 core-site.xml,但我不能这样做,原因有两个:

  1. 由于访问限制,我无法更改 Hadoop 配置。
  2. 我可能有不同的表,这些表对 S3 具有不同的访问权限,因此我通常有兴趣为用户提供将他们的 S3 数据加载到 Hive 表中的能力。

参见 Problem with copying local data onto HDFS on a Hadoop cluster using Amazon EC2/ S3

最佳答案

我通过将 key 直接添加到 S3 URL 来找到 S3 key 设置的解决方法,如下所示:

s3n://ACCESS_KEY:SECRET_KEY@MY_BUCKET/some/data/'

生成的创建表语句如下所示:

use some_database;
CREATE EXTERNAL TABLE experiment_with_s3_backed_data
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
WITH SERDEPROPERTIES (
'avro.schema.literal'='{
"namespace": "",
"type": "record",
"name": "SomeAvroSchema",
"fields": [
{"name": "someVariable","type":"string"}
]
}')
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION 's3n://ACCESS_KEY:SECRET_KEY@MY_BUCKET/some/data/'
;

关于hadoop - 在 Amazon S3 中创建由 Avro 文件支持的 Hive 表时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24770388/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com