TezTask vertex Faliure на Amazone EMR более s3

Я создал таблицу Hive поверх EMR, которая выглядит как

create external table tests3(
transaction_id String,
order_id String,
user_id String,
amount String,
subscriber_number String,
product_type String,
provider String,
region String,
status String,
created_time String,
last_updated_time BIGINT,

)
row format 
    serde 'org.openx.data.jsonserde.JsonSerDe'
location 's3://locationtobucket';

Когда я выбираю * из tests3, я получаю записи. Но выполнение любой задачи tez дает мне следующую ошибку.

Query : select count(*) from tests3;

Vertex failed, vertexName=Map 1, vertexId=vertex_1513582536692_0022_1_00
, diagnostics=[Vertex vertex_1513582536692_0022_1_00 [Map 1] killed/failed due to:ROOT_INPUT_INIT_FAILURE, Vertex Input: tests3 initializer fail
ed, vertex=vertex_1513582536692_0022_1_00 [Map 1], com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: Bad Req
uest (Service: Amazon S3; Status Code: 400; Error Code: 400 Bad Request; Request ID: DEBA2E241B9DE8C3),

Любая идея о проблеме будет высоко оценена

2 ответа

Пожалуйста, проверьте, имеет ли ваша учетная запись правильное разрешение на S3 и корзину, к которой вы пытаетесь получить доступ. Также проверьте правильность URL-адреса корзины S3, например, s3: // locationtobucket / missingfile

Стандартный первый шаг: попробуйте использовать инструменты командной строки AWS с теми же учетными данными, используя такую ​​команду, как:

hdfs fs -ls s3a: // locationtobucket /

Просто измените механизм исполнения улья на MR, и он начнет работать правильно.

Другие вопросы по тегам