Используйте сценарий ниже в действии начальной загрузки EMR, чтобы решить эту проблему. Патч предоставлен AWS

ользую EMR Activity в конвейере данных AWS. Это действие EMR выполняет сценарий куста в кластере EMR. Он принимает динамо DB в качестве входных данных и сохраняет данные в S3.

Это шаг EMR, используемый в EMR Activity

s3://elasticmapreduce/libs/script-runner/script-runner.jar,s3://elasticmapreduce/libs/hive/hive-script,--run-hive-script,--hive-versions,latest,--args,-f,s3://my-s3-bucket/hive/my_hive_script.q,-d,DYNAMODB_INPUT_TABLE1=MyTable,-d,S3_OUTPUT_BUCKET=#{output.directoryPath}

где

out.direcoryPath - это:

s3://my-s3-bucket/output/#{format(@scheduledStartTime,"YYYY-MM-dd")}

Таким образом, это создает одну папку и один файл в S3. (технически говоря, это создает два ключа2017-03-18/<some_random_number> а также2017-03-18_$folder$)

2017-03-18
2017-03-18_$folder$

Как избежать создания этих лишних пустых_$folder$ файлы.

РЕДАКТИРОВАТЬ: я нашел решение, перечисленное вhttps://issues.apache.org/jira/browse/HADOOP-10400 но я не знаю, как реализовать это в конвейере данных AWS.

Ответы на вопрос(3)

Ваш ответ на вопрос