Menggunakan beban batch dengan AWS CLI - Amazon Timestream

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menggunakan beban batch dengan AWS CLI

Pengaturan

Untuk mulai menggunakan pemuatan batch, lakukan langkah-langkah berikut.

  1. Instal AWS CLI menggunakan instruksi diMengakses Amazon Timestream LiveAnalytics untuk menggunakan AWS CLI.

  2. Jalankan perintah berikut untuk memverifikasi bahwa perintah Timestream CLI telah diperbarui. Verifikasi yang create-batch-load-task ada dalam daftar.

    aws timestream-write help

  3. Siapkan sumber data menggunakan instruksi diMempersiapkan file data pemuatan batch.

  4. Buat database dan tabel menggunakan instruksi diMengakses Amazon Timestream LiveAnalytics untuk menggunakan AWS CLI.

  5. Buat bucket S3 untuk output laporan. Ember harus berada di Wilayah yang sama. Untuk informasi selengkapnya tentang bucket, lihat Membuat, mengonfigurasi, dan bekerja dengan bucket Amazon S3.

  6. Buat tugas pemuatan batch. Untuk langkah, lihat Buat tugas pemuatan batch.

  7. Konfirmasikan status tugas. Untuk langkah, lihat Jelaskan tugas pemuatan batch.

Buat tugas pemuatan batch

Anda dapat membuat tugas pemuatan batch dengan create-batch-load-task perintah. Saat Anda membuat tugas pemuatan batch menggunakan CLI, Anda dapat menggunakan parameter JSONcli-input-json, yang memungkinkan Anda menggabungkan parameter ke dalam satu fragmen JSON. Anda juga dapat memisahkan detail tersebut menggunakan beberapa parameter lain termasukdata-model-configuration,data-source-configuration,report-configuration,target-database-name, dantarget-table-name.

Sebagai contoh, lihat Buat contoh tugas pemuatan batch

Jelaskan tugas pemuatan batch

Anda dapat mengambil deskripsi tugas pemuatan batch sebagai berikut.

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

Berikut adalah respons contohnya:

{ "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 } }

Buat daftar tugas pemuatan batch

Anda dapat membuat daftar tugas pemuatan batch sebagai berikut.

aws timestream-write list-batch-load-tasks

Output muncul sebagai berikut.

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

Lanjutkan tugas pemuatan batch

Anda dapat melanjutkan tugas pemuatan batch sebagai berikut.

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

Respons dapat menunjukkan keberhasilan atau mengandung informasi kesalahan.

Buat contoh tugas pemuatan batch

  1. Buat Timestream untuk LiveAnalytics database bernama BatchLoad dan tabel bernamaBatchLoadTest. Verifikasi dan, jika perlu, sesuaikan nilai untuk MemoryStoreRetentionPeriodInHours danMagneticStoreRetentionPeriodInDays.

    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. Menggunakan konsol, buat bucket S3 dan salin sample.csv file ke lokasi itu. Anda dapat mengunduh sampel CSV di sampel CSV.

  3. Menggunakan konsol, buat bucket S3 untuk Timestream LiveAnalytics untuk menulis laporan jika tugas pemuatan batch selesai dengan kesalahan.

  4. Buat tugas pemuatan batch. Pastikan untuk mengganti $INPUT_BUCKET dan $REPORT_BUCKET dengan ember yang Anda buat pada langkah sebelumnya.

    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

    Perintah sebelumnya mengembalikan output berikut.

    { "TaskId": "TaskId " }
  5. Periksa kemajuan tugas. Pastikan Anda mengganti $TASK_ID dengan id tugas yang dikembalikan pada langkah sebelumnya.

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

Contoh Output

{ "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": "test-report-bucket" } }, "DataSourceConfiguration": { "DataSourceS3Configuration": { "ObjectKeyPrefix": "sample.csv", "BucketName": "test-input-bucket" }, "DataFormat": "CSV", "CsvConfiguration": {} }, "LastUpdatedTime": 1672960387.334 } }