Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. 여기에서 자세히 알아보세요.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Timestream for LiveAnalytics의 UNLOAD 사용 사례 예제
전자상거래 웹사이트의 사용자 세션 지표, 트래픽 소스 및 제품 구매를 모니터링하고 있다고 가정해 보겠습니다. Timestream for LiveAnalytics를 사용하여 사용자 동작 및 제품 판매에 대한 실시간 인사이트를 도출하고, 웹사이트로 고객을 유도하는 트래픽 채널(오가닉 검색, 소셜 미디어, 직접 방문, 유료 캠페인 등)에 대한 마케팅 분석을 수행하고 있습니다.
주제
파티션 없이 데이터 내보내기
최근 이틀간의 데이터를 CSV 형식으로 내보내려고 합니다.
UNLOAD(SELECT user_id, ip_address, event, session_id, measure_name, time, query, quantity, product_id, channel FROM sample_clickstream.sample_shopping WHERE time BETWEEN ago(2d) AND now()) TO 's3://<bucket_name>/withoutpartition' WITH ( format='CSV', compression='GZIP')
채널별 데이터 파티셔닝
최근 이틀간의 데이터를 CSV 형식으로 내보내되, 각 트래픽 채널별 데이터를 별도의 폴더에 저장하려고 합니다. 이렇게 하려면 다음과 같이 channel 열을 사용하여 데이터를 파티셔닝해야 합니다.
UNLOAD(SELECT user_id, ip_address, event, session_id, measure_name, time, query, quantity, product_id, channel FROM sample_clickstream.sample_shopping WHERE time BETWEEN ago(2d) AND now()) TO 's3://<bucket_name>/partitionbychannel/' WITH ( partitioned_by = ARRAY ['channel'], format='CSV', compression='GZIP')
이벤트별 데이터 파티셔닝
최근 이틀간의 데이터를 CSV 형식으로 내보내되, 각 이벤트별 데이터를 별도의 폴더에 저장하려고 합니다. 이렇게 하려면 다음과 같이 event 열을 사용하여 데이터를 파티셔닝해야 합니다.
UNLOAD(SELECT user_id, ip_address, channel, session_id, measure_name, time, query, quantity, product_id, event FROM sample_clickstream.sample_shopping WHERE time BETWEEN ago(2d) AND now()) TO 's3://<bucket_name>/partitionbyevent/' WITH ( partitioned_by = ARRAY ['event'], format='CSV', compression='GZIP')
채널과 이벤트별 데이터 파티셔닝
최근 이틀간의 데이터를 CSV 형식으로 내보내되, 각 채널별 데이터를 확보하고, 채널 내에서는 각 이벤트를 별도의 폴더에 저장하려고 합니다. 이렇게 하려면 다음과 같이 channel 열과 event 열을 모두 사용하여 데이터를 파티셔닝해야 합니다.
UNLOAD(SELECT user_id, ip_address, session_id, measure_name, time, query, quantity, product_id, channel,event FROM sample_clickstream.sample_shopping WHERE time BETWEEN ago(2d) AND now()) TO 's3://<bucket_name>/partitionbychannelevent/' WITH ( partitioned_by = ARRAY ['channel','event'], format='CSV', compression='GZIP')
매니페스트 및 메타데이터 파일
매니페스트 파일
매니페스트 파일은 UNLOAD 실행 시 내보내지는 파일 목록에 대한 정보를 제공합니다. 매니페스트 파일은 파일 이름이 S3://bucket_name/<queryid>_<UUID>_manifest.json인 제공된 S3 버킷에 있습니다. 매니페스트 파일에는 결과 폴더 내 파일의 URL, 각 파일의 레코드 수 및 크기, 쿼리 메타데이터(쿼리에 대해 S3로 내보낸 총 바이트 수와 총 행 수)가 포함됩니다.
{ "result_files": [ { "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", "file_metadata": { "content_length_in_bytes": 32295, "row_count": 10 } }, { "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", "file_metadata": { "content_length_in_bytes": 62295, "row_count": 20 } }, ], "query_metadata": { "content_length_in_bytes": 94590, "total_row_count": 30, "result_format": "CSV", "result_version": "Amazon Timestream version 1.0.0" }, "author": { "name": "Amazon Timestream", "manifest_file_version": "1.0" } }
Metadata
메타데이터 파일은 데이터세트에 대한 열 이름, 열 유형, 스키마 등의 추가 정보를 제공합니다. 메타데이터 파일은 파일 이름이 S3://bucket_name/<queryid>_<UUID>_metadata.json인 제공된 S3 버킷에서 사용할 수 있습니다.
다음은 메타데이터 파일의 예제입니다.
{ "ColumnInfo": [ { "Name": "hostname", "Type": { "ScalarType": "VARCHAR" } }, { "Name": "region", "Type": { "ScalarType": "VARCHAR" } }, { "Name": "measure_name", "Type": { "ScalarType": "VARCHAR" } }, { "Name": "cpu_utilization", "Type": { "TimeSeriesMeasureValueColumnInfo": { "Type": { "ScalarType": "DOUBLE" } } } } ], "Author": { "Name": "Amazon Timestream", "MetadataFileVersion": "1.0" } }
메타데이터 파일에 공유된 열 정보는 SELECT 쿼리에 대한 쿼리 API 응답에서 전송되는 ColumnInfo와 동일한 구조를 가집니다.
Glue 크롤러를 사용하여 Glue Data Catalog 구축
다음은 Glue 데이터 카탈로그를 AWS 사용하는 다른 AWS 서비스 및 오픈 소스 프로젝트입니다.
-
Amazon Athena - 자세한 내용은 Amazon Athena 사용 설명서의 테이블, 데이터베이스, 데이터 카탈로그 이해를 참조하세요.
-
Amazon Redshift Spectrum - 자세한 내용은 Amazon Redshift 데이터베이스 개발자 안내서의 Amazon Redshift Spectrum을 참조하세요.
-
Amazon EMR - 자세한 내용은 Amazon EMR 관리 안내서의 AWS Glue 데이터 카탈로그에 대한 Amazon EMR 액세스를 위한 리소스 기반 정책 사용을 참조하세요.
-
AWS Apache Hive 메타스토어용 Glue 데이터 카탈로그 클라이언트 -이 GitHub 프로젝트에 대한 자세한 내용은 AWS Apache Hive 메타스토어용 Glue 데이터 카탈로그 클라이언트
를 참조하세요.