Я настроил свой локальный сервер S3 с Minio.Я могу получить доступ к файлам, хранящимся в нем, из Spark после этих шагов .Но, если я пытаюсь настроить Hive для доступа к внешнему файлу партера, хранящемуся на этом сервере, я получаю следующую ошибку:
FAILED: ошибка выполнения, код возврата 1 из org.apache.hadoop.hive.ql.exec.DDLTask.MetaException (message: java.lang.IllegalArgumentException: идентификатор ключа доступа AWS и секретный ключ доступа должны быть указаны путем установки свойств fs.s3n.awsAccessKeyId и fs.s3n.awsSecretAccessKey (соответственно).)
Моя версия куста: 1.1.
Я использую cdh5.16.1 с Hadoop 2.6.
Моя версия spark - 1.6.
Я попытался изменить файлы (hive-site.xml и core-site.xml) со свойствами, указанными здесь , но я получаю ту же ошибку.Я также попытался добавить эти свойства во время выполнения, набрав следующие команды в оболочке Hive:
SET fs.s3a.endpoint=http://127.0.0.1:9003;
SET fs.s3a.access.key=ACCESSKEY;
SET fs.s3a.awsAccessKeyId=ACCESSKEY;
SET fs.s3a.secret.key=SECRETKEY;
SET fs.s3a.awsSecretAccessKey=SECRETKEY;
SET fs.s3a.path.style.access=true;
SET fs.s3a.impl=org.apache.hadoop.fs.s3a.S3AFileSystem;
Обратите внимание, что у меня есть только fs.s3a.access.key и fs.s3a.secret.key, потому чтоЯ не использую AWS S3 (я использую локальный S3), но я добавил свойства AWS KEY в мои файлы конфигурации из-за полученного сообщения об исключении.Я также попытался использовать s3n вместо s3a (чтобы проверить, не совместим ли s3a с моей версией Hive), но я получаю то же сообщение об исключении.
Команда Create Table, которая выдает исключение:
CREATE EXTERNAL TABLE aml.bgp_pers_juridi3(
internal_id string,
society_type string)
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
's3n://oclrh65c034.isbcloud.isban.corp:9003/minio/entities/bgp_pers_juridi2'
Заранее спасибо.