

Untuk kemampuan serupa dengan Amazon Timestream LiveAnalytics, pertimbangkan Amazon Timestream untuk InfluxDB. Ini menawarkan konsumsi data yang disederhanakan dan waktu respons kueri milidetik satu digit untuk analitik waktu nyata. Pelajari lebih lanjut [di sini](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html).

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

# Menggunakan UNLOAD untuk mengekspor hasil kueri ke S3 dari Timestream untuk LiveAnalytics
<a name="export-unload"></a>

Amazon Timestream untuk LiveAnalytics saat ini memungkinkan Anda mengekspor hasil kueri ke Amazon S3 dengan cara yang hemat biaya dan aman menggunakan pernyataan tersebut. `UNLOAD` Dengan menggunakan `UNLOAD` pernyataan tersebut, Anda sekarang dapat mengekspor data deret waktu ke bucket S3 yang dipilih dalam format Apache Parquet atau Comma Separated Values (CSV), yang memberikan fleksibilitas untuk menyimpan, menggabungkan, dan menganalisis data deret waktu Anda dengan layanan lain. `UNLOAD`Pernyataan ini memungkinkan Anda untuk mengekspor data dengan cara terkompresi, yang mengurangi data yang ditransfer dan ruang penyimpanan yang diperlukan. `UNLOAD`juga mendukung partisi berdasarkan atribut yang dipilih saat mengekspor data, meningkatkan kinerja dan mengurangi waktu pemrosesan layanan hilir yang mengakses data. Selain itu, Anda dapat menggunakan kunci terkelola Amazon S3 (SSE-S3) atau kunci terkelola Layanan Manajemen AWS Kunci (KMS) (AWS SSE-KMS) untuk mengenkripsi data yang diekspor.

## Manfaat UNLOAD dari Timestream untuk LiveAnalytics
<a name="export-unload-benefits"></a>

Manfaat utama menggunakan `UNLOAD` pernyataan tersebut adalah sebagai berikut.
+ **Kemudahan operasional** — Dengan `UNLOAD` pernyataan tersebut, Anda dapat mengekspor gigabyte data dalam satu permintaan kueri baik dalam format Apache Parquet atau CSV, memberikan fleksibilitas untuk memilih format yang paling sesuai untuk kebutuhan pemrosesan hilir Anda dan membuatnya lebih mudah untuk membangun data lake.
+ **Aman dan Hemat biaya** — `UNLOAD` pernyataan menyediakan kemampuan untuk mengekspor data Anda ke bucket S3 secara terkompresi dan mengenkripsi (SSE-KMS atau SSE\$1S3) data Anda menggunakan kunci yang dikelola pelanggan, mengurangi biaya penyimpanan data dan melindungi terhadap akses yang tidak sah.
+ **Kinerja** — Menggunakan `UNLOAD` pernyataan, Anda dapat mempartisi data saat mengekspor ke bucket S3. Mempartisi data memungkinkan layanan hilir untuk memproses data secara paralel, mengurangi waktu pemrosesan mereka. Selain itu, layanan hilir hanya dapat memproses data yang mereka butuhkan, mengurangi sumber daya pemrosesan yang diperlukan dan dengan demikian biaya yang terkait.

## Gunakan kasus untuk BONGKAR dari Timestream untuk LiveAnalytics
<a name="export-unload-use-cases"></a>

Anda dapat menggunakan `UNLOAD` pernyataan untuk menulis data ke bucket S3 Anda sebagai berikut.
+ **Build Data Warehouse** — Anda dapat mengekspor gigabyte hasil kueri ke dalam bucket S3 dan lebih mudah menambahkan data deret waktu ke data lake Anda. Anda dapat menggunakan layanan seperti Amazon Athena dan Amazon Redshift untuk menggabungkan data deret waktu Anda dengan data relevan lainnya untuk mendapatkan wawasan bisnis yang kompleks. 
+ **Membangun saluran data AI dan ML** — `UNLOAD` Pernyataan ini memungkinkan Anda untuk dengan mudah membangun pipeline data untuk model pembelajaran mesin Anda yang mengakses data deret waktu, sehingga lebih mudah untuk menggunakan data deret waktu dengan layanan seperti Amazon dan SageMaker Amazon EMR.
+ **Sederhanakan Pemrosesan ETL** — Mengekspor data ke dalam bucket S3 dapat menyederhanakan proses melakukan operasi Extract, Transform, Load (ETL) pada data, memungkinkan Anda menggunakan alat atau layanan pihak ketiga AWS seperti Glue untuk memproses dan mengubah data dengan mulus. AWS 

# Konsep BONGKAR
<a name="export-unload-concepts"></a>

## Sintaksis
<a name="export-unload-concepts-syntax"></a>

```
UNLOAD (SELECT statement)
 TO 's3://bucket-name/folder'
 WITH ( option = expression [, ...] )
```

`option`dimana

```
{ partitioned_by = ARRAY[ col_name[,…] ] 
 | format = [ '{ CSV | PARQUET }' ] 
 | compression = [ '{ GZIP | NONE }' ]
 | encryption = [ '{ SSE_KMS | SSE_S3 }' ]
 | kms_key = '<string>'
 | field_delimiter ='<character>'
 | escaped_by = '<character>'
 | include_header = ['{true, false}']
 | max_file_size = '<value>'
 | }
```

## Parameter
<a name="export-unload-concepts-parameters"></a>

SELECT pernyataan  
Pernyataan query yang digunakan untuk memilih dan mengambil data dari satu atau lebih Timestream untuk LiveAnalytics tabel.   

```
(SELECT column 1, column 2, column 3 from database.table
      where measure_name = "ABC" and timestamp between ago (1d) and now() )
```

Klausul TO  

```
TO 's3://bucket-name/folder'
```
atau  

```
TO 's3://access-point-alias/folder'
```
`TO`Klausa dalam `UNLOAD` pernyataan menentukan tujuan untuk output dari hasil query. Anda perlu menyediakan jalur lengkap, termasuk nama ember Amazon S3 atau Amazon S3 dengan lokasi folder di Amazon S3 access-point-alias tempat Timestream untuk menulis objek file output. LiveAnalytics Bucket S3 harus dimiliki oleh akun yang sama dan di wilayah yang sama. Selain set hasil kueri, Timestream untuk LiveAnalytics menulis file manifes dan metadata ke folder tujuan tertentu. 

Klausa PARTITIONED\$1BY  

```
partitioned_by = ARRAY [col_name[,…] , (default: none)
```
`partitioned_by`Klausa ini digunakan dalam kueri untuk mengelompokkan dan menganalisis data pada tingkat granular. Saat mengekspor hasil kueri ke bucket S3, Anda dapat memilih untuk mempartisi data berdasarkan satu atau beberapa kolom dalam kueri pilih. Saat mempartisi data, data yang diekspor dibagi menjadi himpunan bagian berdasarkan kolom partisi dan setiap subset disimpan dalam folder terpisah. Dalam folder hasil yang berisi data yang diekspor, sub-folder dibuat `folder/results/partition column = partition value/` secara otomatis. Namun, perhatikan bahwa kolom yang dipartisi tidak termasuk dalam file output.   
`partitioned_by`bukan klausa wajib dalam sintaks. Jika Anda memilih untuk mengekspor data tanpa partisi apa pun, Anda dapat mengecualikan klausa dalam sintaks.   

**Example**  
Dengan asumsi Anda memantau data clickstream situs web Anda dan memiliki 5 saluran lalu lintas yaitu`direct`,,, `Social Media``Organic Search`, `Other` dan. `Referral` Saat mengekspor data, Anda dapat memilih untuk mempartisi data menggunakan kolom`Channel`. Dalam folder data Anda`s3://bucketname/results`,, Anda akan memiliki lima folder masing-masing dengan nama saluran masing-masing, misalnya, `s3://bucketname/results/channel=Social Media/.` Dalam folder ini Anda akan menemukan data semua pelanggan yang mendarat di situs web Anda melalui `Social Media` saluran. Demikian pula, Anda akan memiliki folder lain untuk saluran yang tersisa.
Data yang diekspor dipartisi oleh kolom Channel  

![\[Folder structure showing channels: Direct, Organic search, Other, Referral, and Social media.\]](http://docs.aws.amazon.com/id_id/timestream/latest/developerguide/images/unload-results.png)


FORMAT  

```
format = [ '{ CSV | PARQUET }' , default: CSV
```
Kata kunci untuk menentukan format hasil kueri yang ditulis ke bucket S3 Anda. Anda dapat mengekspor data baik sebagai nilai dipisahkan koma (CSV) menggunakan koma (,) sebagai pembatas default atau dalam format Apache Parquet, format penyimpanan kolom terbuka yang efisien untuk analitik. 

KOMPRESI  

```
compression = [ '{ GZIP | NONE }' ], default: GZIP
```
Anda dapat mengompres data yang diekspor menggunakan algoritma kompresi GZIP atau membuatnya tidak dikompresi dengan menentukan opsi. `NONE`

ENKRIPSI  

```
encryption = [ '{ SSE_KMS | SSE_S3 }' ], default: SSE_S3
```
File output di Amazon S3 dienkripsi menggunakan opsi enkripsi yang Anda pilih. Selain data Anda, file manifes dan metadata juga dienkripsi berdasarkan opsi enkripsi yang Anda pilih. Saat ini kami mendukung enkripsi SSE\$1S3 dan SSE\$1KMS. SSE\$1S3 adalah enkripsi sisi server dengan Amazon S3 mengenkripsi data menggunakan enkripsi standar enkripsi canggih (AES) 256-bit. SSE\$1KMS adalah enkripsi sisi server untuk mengenkripsi data menggunakan kunci yang dikelola pelanggan.

KMS\$1KEY  

```
kms_key = '<string>'
```
KMS Key adalah kunci yang ditentukan pelanggan untuk mengenkripsi hasil kueri yang diekspor. KMS Key dikelola dengan aman oleh AWS Key Management Service (AWS KMS) dan digunakan untuk mengenkripsi file data di Amazon S3.

FIELD\$1DELIMITER  

```
field_delimiter ='<character>' , default: (,)
```
Saat mengekspor data dalam format CSV, bidang ini menentukan karakter ASCII tunggal yang digunakan untuk memisahkan bidang dalam file output, seperti karakter pipa (\$1), koma (,), atau tab (/t). Pembatas default untuk file CSV adalah karakter koma. Jika nilai dalam data Anda berisi pembatas yang dipilih, pembatas akan dikutip dengan karakter kutipan. Misalnya, jika nilai dalam data Anda berisi`Time,stream`, maka nilai ini akan dikutip seperti `"Time,stream"` pada data yang diekspor. Karakter kutipan yang digunakan oleh Timestream untuk LiveAnalytics adalah tanda kutip ganda (“).  
Hindari menentukan karakter carriage return (ASCII 13, hex`0D`, text '\$1 r') atau karakter line break (ASCII 10, hex 0A, text'\$1n') `FIELD_DELIMITER` seolah-olah Anda ingin memasukkan header dalam CSV, karena itu akan mencegah banyak parser untuk dapat mengurai header dengan benar dalam output CSV yang dihasilkan.

LOLOS  

```
escaped_by = '<character>', default: (\)
```
Saat mengekspor data dalam format CSV, bidang ini menentukan karakter yang harus diperlakukan sebagai karakter escape dalam file data yang ditulis ke bucket S3. Melarikan diri terjadi dalam skenario berikut:  

1. Jika nilai itu sendiri berisi karakter kutipan (“) maka itu akan diloloskan menggunakan karakter escape. Misalnya, jika nilainya`Time"stream`, di mana (\$1) adalah karakter escape yang dikonfigurasi, maka itu akan lolos sebagai`Time\"stream`. 

1. Jika nilai berisi karakter escape dikonfigurasi, itu akan lolos. Misalnya, jika nilainya`Time\stream`, maka itu akan lolos sebagai`Time\\stream`. 
Jika output yang diekspor berisi tipe data yang kompleks seperti Array, Rows atau Timeseries, itu akan diserialisasi sebagai string JSON. Berikut adalah contohnya.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/id_id/timestream/latest/developerguide/export-unload-concepts.html)

TERMASUK\$1HEADER  

```
include_header = 'true' , default: 'false'
```
Saat mengekspor data dalam format CSV, bidang ini memungkinkan Anda menyertakan nama kolom sebagai baris pertama file data CSV yang diekspor.  
Nilai yang diterima adalah 'true' dan 'false' dan nilai default adalah 'false'. Opsi transformasi teks seperti `escaped_by` dan `field_delimiter` berlaku untuk header juga.  
Saat menyertakan header, penting bahwa Anda tidak memilih karakter carriage return (ASCII 13, hex 0D, text '\$1 r') atau karakter pemisah baris (ASCII 10, hex 0A, teks'\$1n') sebagai`FIELD_DELIMITER`, karena itu akan mencegah banyak parser untuk dapat mengurai header dengan benar dalam output CSV yang dihasilkan.

MAX\$1FILE\$1SIZE  

```
max_file_size = 'X[MB|GB]' , default: '78GB'
```
Bidang ini menentukan ukuran maksimum file yang dibuat `UNLOAD` pernyataan di Amazon S3. `UNLOAD`Pernyataan tersebut dapat membuat beberapa file tetapi ukuran maksimum setiap file yang ditulis ke Amazon S3 akan kira-kira apa yang ditentukan dalam bidang ini.  
Nilai bidang harus antara 16 MB dan 78 GB, inklusif. Anda dapat menentukannya dalam bilangan bulat seperti`12GB`, atau dalam desimal seperti atau. `0.5GB` `24.7MB` Nilai default adalah 78 GB.  
Ukuran file sebenarnya diperkirakan saat file sedang ditulis, sehingga ukuran maksimum sebenarnya mungkin tidak persis sama dengan angka yang Anda tentukan.

## Apa yang ditulis ke ember S3 saya?
<a name="export-unload-common-questions-what-is-written"></a>

Untuk setiap kueri UNLOAD yang berhasil dijalankan, Timestream untuk LiveAnalytics menulis hasil kueri, file metadata, dan file manifes Anda ke dalam bucket S3. Jika Anda telah mempartisi data, Anda memiliki semua folder partisi di folder hasil. File manifes berisi daftar file yang ditulis oleh perintah UNLOAD. File metadata berisi informasi yang menjelaskan karakteristik, properti, dan atribut data tertulis. 

## Apa nama file yang diekspor?
<a name="export-unload-common-questions-what-is-filename"></a>

Nama file yang diekspor berisi dua komponen, komponen pertama adalah QueryID dan komponen kedua adalah pengidentifikasi unik.

Berkas CSV

```
S3://bucket_name/results/<queryid>_<UUID>.csv
S3://bucket_name/results/<partitioncolumn>=<partitionvalue>/<queryid>_<UUID>.csv
```

File CSV terkompresi

```
S3://bucket_name/results/<partitioncolumn>=<partitionvalue>/<queryid>_<UUID>.gz 
```

File parket

```
S3://bucket_name/results/<partitioncolumn>=<partitionvalue>/<queryid>_<UUID>.parquet
```

File metadata dan Manifest

```
S3://bucket_name/<queryid>_<UUID>_manifest.json 
S3://bucket_name/<queryid>_<UUID>_metadata.json
```

Karena data dalam format CSV disimpan pada tingkat file, saat Anda mengompres data saat mengekspor ke S3, file tersebut akan memiliki ekstensi “.gz”. Namun, data di Parket dikompresi pada tingkat kolom sehingga bahkan ketika Anda mengompres data saat mengekspor, file tersebut masih akan memiliki ekstensi.parquet.

## Informasi apa yang terkandung dalam setiap file?
<a name="export-unload-common-questions-what-information"></a>

### File manifes
<a name="export-unload-common-questions-what-information-manifest"></a>

File manifes memberikan informasi tentang daftar file yang diekspor dengan eksekusi UNLOAD. File manifes tersedia di bucket S3 yang disediakan dengan nama file:`s3://<bucket_name>/<queryid>_<UUID>_manifest.json`. File manifes akan berisi url file di folder hasil, jumlah catatan dan ukuran file masing-masing, dan metadata kueri (yang merupakan total byte dan total baris yang diekspor ke S3 untuk kueri). 

```
{
  "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
<a name="export-unload-common-questions-what-information-metadata"></a>

File metadata memberikan informasi tambahan tentang kumpulan data seperti nama kolom, jenis kolom, dan skema. <queryid><UUID>File metadata tersedia di bucket S3 yang disediakan dengan nama file: S3: //bucket\$1name/ \$1 \$1metadata.json 

Berikut ini adalah contoh dari file metadata.

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

Informasi kolom yang dibagikan dalam file metadata memiliki struktur yang sama seperti yang `ColumnInfo` dikirim dalam respons Query API untuk `SELECT` kueri. 

### Hasil
<a name="export-unload-common-questions-what-information-results"></a>

Folder hasil berisi data yang diekspor dalam format Apache Parquet atau CSV. 

## Contoh
<a name="export-unload-example-short"></a>

Saat Anda mengirimkan `UNLOAD` kueri seperti di bawah ini melalui Query API,

```
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://my_timestream_unloads/withoutpartition/' WITH ( format='CSV', compression='GZIP')
```

`UNLOAD`respon query akan memiliki 1 baris\$1 3 kolom. 3 kolom tersebut adalah:
+ baris tipe BIGINT - menunjukkan jumlah baris yang diekspor
+ MetadataFile tipe VARCHAR - yang merupakan URI S3 dari file metadata yang diekspor
+ ManifestFile tipe VARCHAR - yang merupakan URI S3 dari file manifes yang diekspor

Anda akan mendapatkan respon berikut dari Query API:

```
{
    "Rows": [
        {
            "Data": [
                {
                    "ScalarValue": "20" # No of rows in output across all files
                },
                {
                    "ScalarValue": "s3://my_timestream_unloads/withoutpartition/AEDAAANGH3D7FYHOBQGQQMEAISCJ45B42OWWJMOT4N6RRJICZUA7R25VYVOHJIY_<UUID>_metadata.json" #Metadata file
                },
                {
                    "ScalarValue": "s3://my_timestream_unloads/withoutpartition/AEDAAANGH3D7FYHOBQGQQMEAISCJ45B42OWWJMOT4N6RRJICZUA7R25VYVOHJIY_<UUID>_manifest.json" #Manifest file
                }
            ]
        }
    ],
    "ColumnInfo": [
        {
            "Name": "rows",
            "Type": {
                "ScalarType": "BIGINT"
            }
        },
        {
            "Name": "metadataFile",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "manifestFile",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        }
    ],
    "QueryId": "AEDAAANGH3D7FYHOBQGQQMEAISCJ45B42OWWJMOT4N6RRJICZUA7R25VYVOHJIY",
    "QueryStatus": {
        "ProgressPercentage": 100.0,
        "CumulativeBytesScanned": 1000,
        "CumulativeBytesMetered": 10000000
    }
}
```

## Jenis Data
<a name="export-unload-data-types-explanation"></a>

`UNLOAD`Pernyataan ini mendukung semua tipe data Timestream untuk bahasa LiveAnalytics kueri yang dijelaskan dalam [Jenis data yang didukung](supported-data-types.md) kecuali `time` dan`unknown`.

# Prasyarat untuk BONGKAR dari Timestream untuk LiveAnalytics
<a name="export-unload-prerequisites"></a>

Berikut ini adalah prasyarat untuk menulis data ke S3 menggunakan dari Timestream untuk. `UNLOAD` LiveAnalytics
+ Anda harus memiliki izin untuk membaca data dari Timestream untuk LiveAnalytics tabel yang akan digunakan dalam `UNLOAD` perintah.
+ Anda harus memiliki bucket Amazon S3 di AWS Wilayah yang sama dengan Timestream Anda untuk sumber daya. LiveAnalytics
+ Untuk bucket S3 yang dipilih, pastikan [kebijakan bucket S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) juga memiliki izin untuk mengizinkan Timestream LiveAnalytics mengekspor data.
+ Kredensil yang digunakan untuk mengeksekusi `UNLOAD` query harus memiliki izin AWS Identity and Access Management (IAM) yang diperlukan yang memungkinkan Timestream LiveAnalytics untuk menulis data ke S3. Contoh kebijakan adalah sebagai berikut:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": [
                "timestream:Select",
                "timestream:ListMeasures",
                "timestream:WriteRecords",
                "timestream:Unload"
            ],
            "Resource": "arn:aws:timestream:us-east-2:111122223333:database/database_name/table/table_name"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketAcl",
                "s3:PutObject",
                "s3:GetObject",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::S3_Bucket_Created",
                "arn:aws:s3:::S3_Bucket_Created/*"
            ]
        }
    ]
}
```

------

Untuk konteks tambahan tentang izin menulis S3 ini, lihat panduan [Layanan Penyimpanan Sederhana Amazon](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions). Jika Anda menggunakan kunci KMS untuk mengenkripsi data yang diekspor, lihat berikut ini untuk kebijakan IAM tambahan yang diperlukan.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
            "kms:DescribeKey",
            "kms:Decrypt",
            "kms:GenerateDataKey*"
        ],
        "Resource": "arn:aws:kms:us-east-2:111122223333:key/*",
        "Condition": {
            "ForAnyValue:StringLike": {
                "kms:ResourceAliases": "alias/Alias_For_Generated_Key"
            }
        }
    }, {
        "Effect": "Allow",
        "Action": [
            "kms:CreateGrant"
        ],
        "Resource": "arn:aws:kms:us-east-2:111122223333:key/*",
        "Condition": {
            "ForAnyValue:StringEquals": {
                "kms:EncryptionContextKeys": "aws:timestream:database_name"
            },
            "Bool": {
                "kms:GrantIsForAWSResource": true
            },
            "StringLike": {
                "kms:ViaService": "timestream.us-east-2.amazonaws.com"
            },
            "ForAnyValue:StringLike": {
                "kms:ResourceAliases": "alias/Alias_For_Generated_Key"
            }
        }
    }
]
}
```

------

# Praktik terbaik untuk BONGKAR dari Timestream untuk LiveAnalytics
<a name="export-unload-best-practices"></a>

Berikut ini adalah praktik terbaik yang terkait dengan perintah UNLOAD.
+ Jumlah data yang dapat diekspor ke bucket S3 menggunakan `UNLOAD` perintah tidak dibatasi. Namun, waktu kueri habis dalam 60 menit dan kami sarankan untuk mengekspor tidak lebih dari 60GB data dalam satu kueri. Jika Anda perlu mengekspor lebih dari 60GB data, pisahkan pekerjaan di beberapa kueri.
+ Meskipun Anda dapat mengirim ribuan permintaan ke S3 untuk mengunggah data, disarankan untuk memparalelkan operasi penulisan ke beberapa awalan S3. Lihat dokumentasi [di sini](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html). Tingkat panggilan API S3 dapat dibatasi ketika beberapa readers/writers mengakses folder yang sama. 
+ Mengingat batas panjang kunci S3 untuk menentukan awalan, kami sarankan memiliki nama bucket dan folder dalam 10-15 karakter, terutama saat menggunakan klausa. `partitioned_by` 
+ Ketika Anda menerima 4XX atau 5XX untuk kueri yang berisi `UNLOAD` pernyataan, ada kemungkinan bahwa sebagian hasil ditulis ke dalam ember S3. Timestream for LiveAnalytics tidak menghapus data apa pun dari bucket Anda. Sebelum menjalankan `UNLOAD` kueri lain dengan tujuan S3 yang sama, kami sarankan untuk menghapus file yang dibuat oleh kueri yang gagal secara manual. Anda dapat mengidentifikasi file yang ditulis oleh kueri yang gagal dengan yang sesuai`QueryExecutionId`. Untuk kueri yang gagal, Timestream for LiveAnalytics tidak mengekspor file manifes ke bucket S3. 
+ Timestream untuk LiveAnalytics menggunakan unggahan multi-bagian untuk mengekspor hasil kueri ke S3. Ketika Anda menerima 4XX atau 5XX dari Timestream LiveAnalytics untuk kueri yang berisi pernyataan UNLOAD, Timestream for LiveAnalytics melakukan aborsi upaya terbaik untuk unggahan multi-bagian tetapi ada kemungkinan bahwa beberapa bagian yang tidak lengkap tertinggal. [Oleh karena itu, kami merekomendasikan untuk menyiapkan pembersihan otomatis dari unggahan multi-bagian yang tidak lengkap di bucket S3 Anda dengan mengikuti panduan di sini.](https://aws.amazon.com/blogs/aws-cloud-financial-management/discovering-and-deleting-incomplete-multipart-uploads-to-lower-amazon-s3-costs/)

## Rekomendasi untuk mengakses data dalam format CSV menggunakan parser CSV
<a name="export-unload-common-questions-what-information-recommendations-csv"></a>
+ Pengurai CSV tidak memungkinkan Anda memiliki karakter yang sama dalam karakter pembatas, pelarian, dan kutipan.
+ Beberapa parser CSV tidak dapat menafsirkan tipe data yang kompleks seperti Array, kami sarankan untuk menafsirkannya melalui deserializer JSON. 

## Rekomendasi untuk mengakses data dalam format Parket
<a name="export-unload-common-questions-what-information-recommendations-parquet"></a>

1. [Jika kasus penggunaan Anda memerlukan dukungan karakter UTF-8 dalam skema alias nama kolom, sebaiknya gunakan pustaka Parquet-MR.](https://github.com/apache/parquet-mr)

1. Stempel waktu dalam hasil Anda direpresentasikan sebagai bilangan bulat 12 byte () INT96

1. Timeseries akan direpresentasikan sebagai`array<row<time, value>>`, struktur bersarang lainnya akan menggunakan tipe data yang sesuai yang didukung dalam format Parket

## Menggunakan klausa partition\$1by
<a name="export-unload-best-practices-partition-by"></a>
+ Kolom yang digunakan di `partitioned_by` bidang harus menjadi kolom terakhir dalam kueri pilih. Jika lebih dari satu kolom digunakan di `partitioned_by` bidang, kolom harus menjadi kolom terakhir dalam kueri pilih dan dalam urutan yang sama seperti yang digunakan di `partition_by` bidang.
+ Nilai kolom yang digunakan untuk mempartisi data (`partitioned_by`bidang) hanya dapat berisi karakter ASCII. Sementara Timestream untuk LiveAnalytics memungkinkan karakter UTF-8 dalam nilai, S3 hanya mendukung karakter ASCII sebagai kunci objek.

# Contoh kasus penggunaan untuk UNLOAD dari Timestream untuk LiveAnalytics
<a name="export-unload-example-use-case"></a>

Asumsikan Anda memantau metrik sesi pengguna, sumber lalu lintas, dan pembelian produk situs web e-commerce Anda. Anda menggunakan Timestream LiveAnalytics untuk memperoleh wawasan real-time tentang perilaku pengguna, penjualan produk, dan melakukan analisis pemasaran pada saluran lalu lintas (pencarian organik, media sosial, lalu lintas langsung, kampanye berbayar, dan lainnya) yang mengarahkan pelanggan ke situs web. 

**Topics**
+ [Mengekspor data tanpa partisi](#export-unload-example-sample-1)
+ [Mempartisi data berdasarkan saluran](#export-unload-example-sample-2)
+ [Mempartisi data berdasarkan acara](#export-unload-example-sample-3)
+ [Mempartisi data berdasarkan saluran dan acara](#export-unload-example-sample-4)
+ [File manifes dan metadata](#export-unload-example-manifest-metadata)
+ [Menggunakan Glue crawler untuk membangun Glue Data Catalog](#export-unload-example-using-glue-crawlers)

## Mengekspor data tanpa partisi
<a name="export-unload-example-sample-1"></a>

Anda ingin mengekspor dua hari terakhir data Anda dalam format 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')
```

## Mempartisi data berdasarkan saluran
<a name="export-unload-example-sample-2"></a>

Anda ingin mengekspor dua hari terakhir data dalam format CSV tetapi ingin memiliki data dari setiap saluran lalu lintas di folder terpisah. Untuk melakukan ini, Anda perlu mempartisi data menggunakan `channel` kolom seperti yang ditunjukkan pada berikut ini.

```
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')
```

## Mempartisi data berdasarkan acara
<a name="export-unload-example-sample-3"></a>

Anda ingin mengekspor dua hari terakhir data dalam format CSV tetapi ingin memiliki data untuk setiap peristiwa dalam folder terpisah. Untuk melakukan ini, Anda perlu mempartisi data menggunakan `event` kolom seperti yang ditunjukkan pada berikut ini.

```
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')
```

## Mempartisi data berdasarkan saluran dan acara
<a name="export-unload-example-sample-4"></a>

Anda ingin mengekspor dua hari terakhir data dalam format CSV tetapi ingin memiliki data untuk setiap saluran dan di dalam saluran menyimpan setiap acara dalam folder terpisah. Untuk melakukan ini, Anda perlu mempartisi data menggunakan keduanya `channel` dan `event` kolom seperti yang ditunjukkan pada berikut ini.

```
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')
```

## File manifes dan metadata
<a name="export-unload-example-manifest-metadata"></a>

### File manifes
<a name="export-unload-common-questions-what-information-manifest"></a>

File manifes memberikan informasi tentang daftar file yang diekspor dengan eksekusi UNLOAD. File manifes tersedia di bucket S3 yang disediakan dengan nama file:`S3://bucket_name/<queryid>_<UUID>_manifest.json`. File manifes akan berisi url file di folder hasil, jumlah catatan dan ukuran file masing-masing, dan metadata kueri (yang merupakan total byte dan total baris yang diekspor ke S3 untuk kueri). 

```
{
  "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
<a name="export-unload-common-questions-what-information-metadata"></a>

File metadata memberikan informasi tambahan tentang kumpulan data seperti nama kolom, jenis kolom, dan skema. <queryid><UUID>File metadata tersedia di bucket S3 yang disediakan dengan nama file: S3: //bucket\$1name/ \$1 \$1metadata.json 

Berikut ini adalah contoh dari file metadata.

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

Informasi kolom yang dibagikan dalam file metadata memiliki struktur yang sama seperti yang `ColumnInfo` dikirim dalam respons Query API untuk `SELECT` kueri. 

## Menggunakan Glue crawler untuk membangun Glue Data Catalog
<a name="export-unload-example-using-glue-crawlers"></a>

1. Login ke akun Anda dengan kredensi Admin untuk validasi berikut.

1. Buat Crawler untuk Glue Database menggunakan pedoman yang disediakan [di sini](https://docs.aws.amazon.com/glue/latest/ug/tutorial-add-crawler.html). Harap dicatat bahwa folder S3 yang akan disediakan di sumber data harus berupa folder `UNLOAD` hasil seperti. `s3://my_timestream_unloads/results`

1. Jalankan crawler mengikuti panduan di [sini](https://docs.aws.amazon.com/glue/latest/ug/tutorial-add-crawler.html#tutorial-add-crawler-step2).

1. Lihat tabel Glue.
   + Pergi ke **AWS Glue** → **Tabel**.
   + Anda akan melihat tabel baru yang dibuat dengan awalan tabel yang disediakan saat membuat crawler.
   + Anda dapat melihat skema dan informasi partisi dengan mengklik tampilan detail tabel.

Berikut ini adalah AWS layanan lain dan proyek sumber terbuka yang menggunakan Katalog Data AWS Glue.
+ **Amazon Athena** — Untuk informasi selengkapnya, lihat [Memahami tabel, database, dan katalog data di](https://docs.aws.amazon.com/athena/latest/ug/understanding-tables-databases-and-the-data-catalog.html) Panduan Pengguna Amazon Athena.
+ **Amazon Redshift** Spectrum — Untuk informasi selengkapnya, [lihat Mengkueri data eksternal menggunakan Amazon Redshift Spectrum](https://docs.aws.amazon.com/redshift/latest/dg/c-using-spectrum.html) di Panduan Pengembang Database Amazon Redshift.
+ **Amazon EMR** - Untuk informasi selengkapnya, lihat [Menggunakan kebijakan berbasis sumber daya untuk akses EMR Amazon ke Katalog AWS Data Glue di Panduan Manajemen EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.html) Amazon.
+ **AWS Klien Glue Data Catalog untuk Apache Hive metastore** — Untuk informasi lebih lanjut tentang proyek ini GitHub, lihat [Klien Katalog Data AWS Glue untuk](https://github.com/awslabs/aws-glue-data-catalog-client-for-apache-hive-metastore) Apache Hive Metastore.

# Batas untuk BONGKAR dari Timestream untuk LiveAnalytics
<a name="export-unload-limits"></a>

Berikut ini adalah batasan yang terkait dengan `UNLOAD` perintah.
+ Konkurensi untuk kueri menggunakan `UNLOAD` pernyataan adalah 1 query per second (QPS). Melebihi tingkat kueri dapat mengakibatkan pelambatan.
+ Kueri yang berisi `UNLOAD` pernyataan dapat mengekspor paling banyak 100 partisi per kueri. Kami merekomendasikan untuk memeriksa jumlah yang berbeda dari kolom yang dipilih sebelum menggunakannya untuk mempartisi data yang diekspor.
+ Kueri yang berisi waktu keluar `UNLOAD` pernyataan setelah 60 menit.
+ Ukuran maksimum file yang dibuat `UNLOAD` pernyataan di Amazon S3 adalah 78 GB.

Untuk batasan lain untuk Timestream LiveAnalytics, lihat [KuotaKuota default](ts-limits.md)