2016-08-11 2 views
1

특정 속성이 Document Types : listmap 인 DynamoDB 테이블이 있습니다.DynamoDB 문서 유형을 적색 편이로 내보내기

이 테이블을 Redshift로 내보내려고합니다.

만 아마존 DynamoDB의 스칼라 문자열과 숫자 데이터 형식이 지원되는 속성과 : 당신이 list 또는 map 중 하나의 속성을 포함하는 DynamoDB의 테이블에서 데이터를 복사하려고하면 According to the documentation은 적색 편이 copy 명령이 실패합니다. Amazon DynamoDB BINARY 및 SET 데이터 유형은 지원되지 않습니다. COPY 명령이 지원되지 않는 데이터 유형으로 속성을로드하려고 시도하면 명령이 실패합니다.

나는 또한 데이터 파이프 라인 및 하이브를 사용하여 조사했습니다

하지만 the documentation는 하이브 중 하나 list 또는 map을 지원하지 않는 것이 좋습니다.

map 속성을 포함하여 DynamoDB에서 데이터를 이동하고 Redshift에 데이터를 이동하는 옵션은 무엇입니까?

답변

0

내가 취한 접근법은 Export DynamoDB Table to S3 템플릿으로 시작하는 것입니다. http://docs.aws.amazon.com/redshift/latest/dg/loading-data-files-using-manifest.html

그래서 "S3로 내보내기 DynamoDB의 표"와 함께 제공되는 S3BackupLocation 데이터 노드에 추가 :

EMRActivity에서 실행되는 org.apache.hadoop.dynamodb.tools.DynamoDbExport 단계는 매니페스트 특히 RedshiftCopyActivity와 함께 사용하기위한 것 파일 출력에 보인다 템플릿, 나는 다른 S3DataNode을 추가했습니다. 어느 dependsOn EMR 활동. manifestFilePath을 지정합니다. 이 추가 된 경우를 제외하고는 S3BackupLocation 데이터 노드에 지정된 directoryPath과 같습니다.

그런 다음 manifestFilePath과 함께 새로운 데이터 노드는 RedshiftCopyActivity의 입력으로 사용됩니다. 지도있는 특성을 평평하게하기 위해, RedshiftCopyActivityJSONPath options 제공하는 일부 commandOptions 지정

"commandOptions": "JSON 's3://richard.jp.leguen/data-pipeline/misc/jsonpaths.txt'" 
관련 문제