Dynamodb 내보내기를 트리거하고 CDK로 Athena 저장된 쿼리를 생성하는 방법의 예
6382 단어 awsawsathenaawscdkawsdynamodb
한 가지 접근 방식은 람다를 사용하는 것이고 다른 접근 방식은 단계 함수를 사용하는 것입니다. 두 접근 방식 모두 S3 버킷으로 내보내기를 트리거하는 단계를 구현하고, 내보낸 해당 데이터에 대한 athena 테이블을 생성하고, 분석을 위한 namend 쿼리를 준비합니다.
이 예제의 데이터는 다음과 같습니다.
람다와 함께
This lambda SDK를 통해 내보내기를 트리거하고 명명된 쿼리를 생성하거나 업데이트합니다.
The query은 athena 테이블을 생성합니다. 내보내기 ID는 "s3location"을
s3://<<bucket name>>/ddb-exports/AWSDynamoDB/<<ddb-export-id>>/data/
와 같은 것으로 대체하여 람다에 의해 설정됩니다.CREATE EXTERNAL TABLE ddb_exported_table (
Item struct<pk:struct<S:string>,
person:struct<M:struct<
jobArea:struct<S:string>,
firstname:struct<S:string>,
gender:struct<S:string>,
jobType:struct<S:string>,
jobDescriptor:struct<S:string>,
lastname:struct<S:string>
>>>
)
ROW FORMAT SERDE 'org.openx.data.jsonserde.JsonSerDe'
LOCATION 's3Location'
TBLPROPERTIES ( 'has_encrypted_data'='true');
https://github.com/JohannesKonings/test-aws-dynamodb-athena-cdk/blob/main/cdk/lib/ddb-export/readTable.sql
SELECT
item.pk.S as pk,
item.person.M.firstname.S as firstname,
item.person.M.lastname.S as lastname,
item.person.M.jobArea.S as jobArea,
item.person.M.gender.S as gender,
item.person.M.jobType.S as jobType,
item.person.M.jobDescriptor.S as jobDescriptor
FROM "db_name"."table_name";
람다를 시작한 후 내보내기가 완료될 때까지 기다려야 합니다. 그런 다음 athena 테이블 생성을 위한 쿼리를 실행할 수 있습니다. 람다는 이미 이전 테이블을 삭제했습니다. 그런 다음 분석을 위해 준비된 쿼리를 사용할 수 있습니다.
보다 조율된 접근 방식은 단계 기능을 사용하는 것입니다. 결과를 기다리는 것이 더 좋습니다 :)
단계 함수 사용
이것은 단계 함수에 의해 오케스트레이션되는 단계입니다.
결정적입니다here
단계 함수는 기본값으로 시작할 수 있습니다.
완료하는 데 몇 분 정도 걸립니다.
"최근 쿼리"섹션에는 이전 테이블을 삭제하고 새 테이블을 만드는 단계가 나열되어 있습니다.
완료되면 이름이
sfn-ddb-export-read-table
인 저장된 쿼리를 선택할 수 있습니다. dynamodb 테이블의 모든 데이터를 쿼리하는 데 사용할 수 있으며 보다 "복잡한"쿼리에 적용할 수 있습니다.암호
JohannesKonings / 테스트-aws-dynamodb-athena-cdk
AWS CDK로 생성된 Kinesis를 통해 Athena로 DynamoDB 데이터를 분석하는 방법의 예
테스트-aws-dynamodb-athena-cdk
전개하다
cd cdk
QUICKSIGHT_USERNAME=<<Quicksight user name>> npx cdk deploy
설명
자세한 내용은 여기를 참조하십시오.
경고
⚠️ 테스트 후 파기하는 것을 잊지 마세요.
View on GitHub
( https://github.com/JohannesKonings/test-aws-dynamodb-athena-cdk )
Reference
이 문제에 관하여(Dynamodb 내보내기를 트리거하고 CDK로 Athena 저장된 쿼리를 생성하는 방법의 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/aws-builders/example-how-to-trigger-a-dynamodb-export-and-create-an-athena-saved-query-with-cdk-2cjg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)