에서 배치 로드 사용 AWS CLI - Amazon Timestream

Amazon Timestream for LiveAnalytics와 유사한 기능을 원하는 경우 Amazon Timestream for InfluxDB를 고려해 보세요. 간소화된 데이터 수집과 실시간 분석을 위한 10밀리초 미만의 쿼리 응답 시간을 제공합니다. 여기에서 자세히 알아보세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

에서 배치 로드 사용 AWS CLI

설정

배치 로드 사용을 시작하려면 다음 단계를 수행하세요.

  1. 의 지침에 AWS CLI 따라를 설치합니다를 사용하여 LiveAnalytics용 Amazon Timestream에 액세스 AWS CLI.

  2. 다음 명령을 실행하여 Timestream CLI 명령이 업데이트되었는지 확인합니다. create-batch-load-task가 목록에 있는지 확인합니다.

    aws timestream-write help

  3. 배치 로드 데이터 파일 준비의 지침에 따라 데이터 소스를 준비합니다.

  4. 를 사용하여 LiveAnalytics용 Amazon Timestream에 액세스 AWS CLI의 지침에 따라 데이터베이스와 테이블을 생성합니다.

  5. 보고서 출력을 위해 S3 버킷을 생성합니다. 버킷은 동일한 리전에 있어야 합니다. 버킷에 대한 자세한 내용은 Amazon S3 버킷 생성, 구성 및 작업을 참조하세요.

  6. 배치 로드 태스크를 생성합니다. 단계는 배치 로드 태스크 생성를 참조하세요.

  7. 태스크의 상태를 확인합니다. 단계는 배치 로드 태스크 설명를 참조하세요.

배치 로드 태스크 생성

create-batch-load-task 명령을 사용하여 배치 로드 태스크를 생성할 수 있습니다. CLI를 사용하여 배치 로드 태스크를 생성할 때 파라미터를 단일 JSON 조각으로 집계할 수 있는 JSON 파라미터인 cli-input-json를 사용할 수 있습니다. data-model-configuration, data-source-configuration, report-configuration, target-database-name, target-table-name 등의 다른 여러 파라미터를 사용하여 이러한 세부 정보를 구분할 수도 있습니다.

예제는 배치 로드 태스크 생성 예제 섹션을 참조하세요.

배치 로드 태스크 설명

다음과 같이 배치 로드 태스크 설명을 검색할 수 있습니다.

aws timestream-write describe-batch-load-task --task-id <value>

다음은 응답의 예입니다.

{ "BatchLoadTaskDescription": { "TaskId": "<TaskId>", "DataSourceConfiguration": { "DataSourceS3Configuration": { "BucketName": "test-batch-load-west-2", "ObjectKeyPrefix": "sample.csv" }, "CsvConfiguration": {}, "DataFormat": "CSV" }, "ProgressReport": { "RecordsProcessed": 2, "RecordsIngested": 0, "FileParseFailures": 0, "RecordIngestionFailures": 2, "FileFailures": 0, "BytesIngested": 119 }, "ReportConfiguration": { "ReportS3Configuration": { "BucketName": "test-batch-load-west-2", "ObjectKeyPrefix": "<ObjectKeyPrefix>", "EncryptionOption": "SSE_S3" } }, "DataModelConfiguration": { "DataModel": { "TimeColumn": "timestamp", "TimeUnit": "SECONDS", "DimensionMappings": [ { "SourceColumn": "vehicle", "DestinationColumn": "vehicle" }, { "SourceColumn": "registration", "DestinationColumn": "license" } ], "MultiMeasureMappings": { "TargetMultiMeasureName": "test", "MultiMeasureAttributeMappings": [ { "SourceColumn": "wgt", "TargetMultiMeasureAttributeName": "weight", "MeasureValueType": "DOUBLE" }, { "SourceColumn": "spd", "TargetMultiMeasureAttributeName": "speed", "MeasureValueType": "DOUBLE" }, { "SourceColumn": "fuel", "TargetMultiMeasureAttributeName": "fuel", "MeasureValueType": "DOUBLE" }, { "SourceColumn": "miles", "TargetMultiMeasureAttributeName": "miles", "MeasureValueType": "DOUBLE" } ] } } }, "TargetDatabaseName": "BatchLoadExampleDatabase", "TargetTableName": "BatchLoadExampleTable", "TaskStatus": "FAILED", "RecordVersion": 1, "CreationTime": 1677167593.266, "LastUpdatedTime": 1677167602.38 } }

배치 로드 태스크 나열

다음과 같이 배치 로드 태스크를 나열할 수 있습니다.

aws timestream-write list-batch-load-tasks

출력은 다음과 같이 나타납니다.

{ "BatchLoadTasks": [ { "TaskId": "<TaskId>", "TaskStatus": "FAILED", "DatabaseName": "BatchLoadExampleDatabase", "TableName": "BatchLoadExampleTable", "CreationTime": 1677167593.266, "LastUpdatedTime": 1677167602.38 } ] }

배치 로드 태스크 재개

다음과 같이 배치 로드 태스크를 재개할 수 있습니다.

aws timestream-write resume-batch-load-task --task-id <value>

응답은 성공을 나타내거나 오류 정보를 포함할 수 있습니다.

배치 로드 태스크 생성 예제

  1. 이름이 BatchLoad인 Timestream for LiveAnalytics 데이터베이스와 이름이 BatchLoadTest인 테이블을 생성합니다. MemoryStoreRetentionPeriodInHoursMagneticStoreRetentionPeriodInDays의 값을 확인하고 필요한 경우 조정합니다.

    aws timestream-write create-database --database-name BatchLoad \ aws timestream-write create-table --database-name BatchLoad \ --table-name BatchLoadTest \ --retention-properties "{\"MemoryStoreRetentionPeriodInHours\": 12, \"MagneticStoreRetentionPeriodInDays\": 100}"
  2. 콘솔을 사용하여 S3 버킷을 생성하고 sample.csv 파일을 해당 위치에 복사합니다. 샘플 CSV에서 샘플 CSV를 다운로드할 수 있습니다.

  3. 콘솔을 사용하여 배치 로드 태스크가 오류와 함께 완료될 경우 보고서를 작성하기 위해 Timestream for LiveAnalytics용 S3 버킷을 생성합니다.

  4. 배치 로드 태스크를 생성합니다. $INPUT_BUCKET$REPORT_BUCKET을 이전 단계에서 생성한 버킷으로 바꿔야 합니다.

    aws timestream-write create-batch-load-task \ --data-model-configuration "{\ \"DataModel\": {\ \"TimeColumn\": \"timestamp\",\ \"TimeUnit\": \"SECONDS\",\ \"DimensionMappings\": [\ {\ \"SourceColumn\": \"vehicle\"\ },\ {\ \"SourceColumn\": \"registration\",\ \"DestinationColumn\": \"license\"\ }\ ], \"MultiMeasureMappings\": {\ \"TargetMultiMeasureName\": \"mva_measure_name\",\ \"MultiMeasureAttributeMappings\": [\ {\ \"SourceColumn\": \"wgt\",\ \"TargetMultiMeasureAttributeName\": \"weight\",\ \"MeasureValueType\": \"DOUBLE\"\ },\ {\ \"SourceColumn\": \"spd\",\ \"TargetMultiMeasureAttributeName\": \"speed\",\ \"MeasureValueType\": \"DOUBLE\"\ },\ {\ \"SourceColumn\": \"fuel_consumption\",\ \"TargetMultiMeasureAttributeName\": \"fuel\",\ \"MeasureValueType\": \"DOUBLE\"\ },\ {\ \"SourceColumn\": \"miles\",\ \"MeasureValueType\": \"BIGINT\"\ }\ ]\ }\ }\ }" \ --data-source-configuration "{ \"DataSourceS3Configuration\": {\ \"BucketName\": \"$INPUT_BUCKET\",\ \"ObjectKeyPrefix\": \"$INPUT_OBJECT_KEY_PREFIX\" },\ \"DataFormat\": \"CSV\"\ }" \ --report-configuration "{\ \"ReportS3Configuration\": {\ \"BucketName\": \"$REPORT_BUCKET\",\ \"EncryptionOption\": \"SSE_S3\"\ }\ }" \ --target-database-name BatchLoad \ --target-table-name BatchLoadTest

    앞의 명령은 다음 출력을 반환합니다.

    { "TaskId": "TaskId " }
  5. 태스크 진행 상황을 확인합니다. $TASK_ID를 이전 단계에서 반환된 태스크 ID로 바꿔야 합니다.

    aws timestream-write describe-batch-load-task --task-id $TASK_ID

출력 예시

{ "BatchLoadTaskDescription": { "ProgressReport": { "BytesIngested": 1024, "RecordsIngested": 2, "FileFailures": 0, "RecordIngestionFailures": 0, "RecordsProcessed": 2, "FileParseFailures": 0 }, "DataModelConfiguration": { "DataModel": { "DimensionMappings": [ { "SourceColumn": "vehicle", "DestinationColumn": "vehicle" }, { "SourceColumn": "registration", "DestinationColumn": "license" } ], "TimeUnit": "SECONDS", "TimeColumn": "timestamp", "MultiMeasureMappings": { "MultiMeasureAttributeMappings": [ { "TargetMultiMeasureAttributeName": "weight", "SourceColumn": "wgt", "MeasureValueType": "DOUBLE" }, { "TargetMultiMeasureAttributeName": "speed", "SourceColumn": "spd", "MeasureValueType": "DOUBLE" }, { "TargetMultiMeasureAttributeName": "fuel", "SourceColumn": "fuel_consumption", "MeasureValueType": "DOUBLE" }, { "TargetMultiMeasureAttributeName": "miles", "SourceColumn": "miles", "MeasureValueType": "DOUBLE" } ], "TargetMultiMeasureName": "mva_measure_name" } } }, "TargetDatabaseName": "BatchLoad", "CreationTime": 1672960381.735, "TaskStatus": "SUCCEEDED", "RecordVersion": 1, "TaskId": "TaskId ", "TargetTableName": "BatchLoadTest", "ReportConfiguration": { "ReportS3Configuration": { "EncryptionOption": "SSE_S3", "ObjectKeyPrefix": "ObjectKeyPrefix ", "BucketName": "amzn-s3-demo-bucket" } }, "DataSourceConfiguration": { "DataSourceS3Configuration": { "ObjectKeyPrefix": "sample.csv", "BucketName": "amzn-s3-demo-source-bucket" }, "DataFormat": "CSV", "CsvConfiguration": {} }, "LastUpdatedTime": 1672960387.334 } }