

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.

# Dukungan SQL
<a name="supported-sql-constructs"></a>

Timestream untuk LiveAnalytics mendukung beberapa konstruksi SQL umum. Anda dapat membaca lebih lanjut di bawah ini.

**Topics**
+ [

# SELECT
](supported-sql-constructs.SELECT.md)
+ [

# Dukungan subquery
](supported-sql-constructs.subquery-support.md)
+ [

# PERLIHATKAN pernyataan
](supported-sql-constructs.SHOW.md)
+ [

# DESKRIPSIKAN pernyataan
](supported-sql-constructs.DESCRIBE.md)
+ [

# MEMBONGKAR
](supported-sql-constructs.UNLOAD.md)

# SELECT
<a name="supported-sql-constructs.SELECT"></a>

Pernyataan **SELECT** dapat digunakan untuk mengambil data dari satu atau beberapa tabel. Bahasa query Timestream mendukung sintaks berikut untuk pernyataan **SELECT**:

```
[ WITH with_query [, ...] ]
            SELECT [ ALL | DISTINCT ] select_expr [, ...]
            [ function (expression) OVER (
            [ PARTITION BY partition_expr_list ]
            [ ORDER BY order_list ]
            [ frame_clause ] )
            [ FROM from_item [, ...] ]
            [ WHERE condition ]
            [ GROUP BY [ ALL | DISTINCT ] grouping_element [, ...] ]
            [ HAVING condition]
            [ { UNION | INTERSECT | EXCEPT } [ ALL | DISTINCT ] select ]
            [ ORDER BY order_list ]
            [ LIMIT [ count | ALL ] ]
```

di mana 
+ `function (expression)`adalah salah satu [fungsi jendela](window-functions.md) yang didukung.
+ `partition_expr_list`adalah:

  ```
  expression | column_name [, expr_list ]
  ```
+ `order_list`adalah:

  ```
  expression | column_name [ ASC | DESC ] 
  [ NULLS FIRST | NULLS LAST ]
  [, order_list ]
  ```
+ `frame_clause`adalah:

  ```
  ROWS | RANGE
  { UNBOUNDED PRECEDING | expression PRECEDING | CURRENT ROW } |
  {BETWEEN
  { UNBOUNDED PRECEDING | expression { PRECEDING | FOLLOWING } |
  CURRENT ROW}
  AND
  { UNBOUNDED FOLLOWING | expression { PRECEDING | FOLLOWING } |
  CURRENT ROW }}
  ```
+ `from_item`adalah salah satu dari:

  ```
  table_name [ [ AS ] alias [ ( column_alias [, ...] ) ] ]
  from_item join_type from_item [ ON join_condition | USING ( join_column [, ...] ) ]
  ```
+ `join_type`adalah salah satu dari:

  ```
  [ INNER ] JOIN
  LEFT [ OUTER ] JOIN
  RIGHT [ OUTER ] JOIN
  FULL [ OUTER ] JOIN
  ```
+ `grouping_element`adalah salah satu dari:

  ```
  ()
  expression
  ```

# Dukungan subquery
<a name="supported-sql-constructs.subquery-support"></a>

 Timestream mendukung subquery dalam `EXISTS` dan predikat. `IN` `EXISTS`Predikat menentukan apakah subquery mengembalikan baris apapun. `IN`Predikat menentukan apakah nilai yang dihasilkan oleh subquery cocok dengan nilai atau ekspresi dalam klausa IN. Bahasa kueri Timestream mendukung subquery berkorelasi dan lainnya. 

```
SELECT t.c1
FROM (VALUES 1, 2, 3, 4, 5) AS t(c1)
WHERE EXISTS
(SELECT t.c2
 FROM (VALUES 1, 2, 3) AS t(c2)
 WHERE t.c1= t.c2
)
ORDER BY t.c1
```


| c1 | 
| --- | 
|  1  | 
|  2  | 
|  3  | 

```
SELECT t.c1
FROM (VALUES 1, 2, 3, 4, 5) AS t(c1)
WHERE t.c1 IN
(SELECT t.c2
 FROM (VALUES 2, 3, 4) AS t(c2)
)
ORDER BY t.c1
```


| c1 | 
| --- | 
|  2  | 
|  3  | 
|  4  | 

# PERLIHATKAN pernyataan
<a name="supported-sql-constructs.SHOW"></a>

Anda dapat melihat semua database di akun dengan menggunakan `SHOW DATABASES` pernyataan. Sintaksnya adalah sebagai berikut:

```
SHOW DATABASES [LIKE pattern]
```

di mana `LIKE` klausa dapat digunakan untuk memfilter nama database.

Anda dapat melihat semua tabel di akun dengan menggunakan `SHOW TABLES` pernyataan. Sintaksnya adalah sebagai berikut:

```
SHOW TABLES [FROM database] [LIKE pattern]
```

di mana `FROM` klausa dapat digunakan untuk memfilter nama database dan `LIKE` klausa dapat digunakan untuk memfilter nama tabel.

Anda dapat melihat semua ukuran untuk tabel dengan menggunakan `SHOW MEASURES` pernyataan. Sintaksnya adalah sebagai berikut:

```
SHOW MEASURES FROM database.table [LIKE pattern]
```

di mana `FROM` klausa akan digunakan untuk menentukan database dan nama tabel dan `LIKE` klausa dapat digunakan untuk memfilter nama ukuran.

# DESKRIPSIKAN pernyataan
<a name="supported-sql-constructs.DESCRIBE"></a>

Anda dapat melihat metadata untuk tabel dengan menggunakan pernyataan. `DESCRIBE` Sintaksnya adalah sebagai berikut:

```
DESCRIBE database.table
```

dimana `table` berisi nama tabel. Pernyataan describe mengembalikan nama kolom dan tipe data untuk tabel.

# MEMBONGKAR
<a name="supported-sql-constructs.UNLOAD"></a>

Timestream untuk LiveAnalytics mendukung `UNLOAD` perintah sebagai ekstensi untuk dukungan SQL nya. Tipe data `UNLOAD` yang didukung oleh dijelaskan dalam[Jenis data yang didukung](supported-data-types.md). `unknown`Jenis `time` dan tidak berlaku untuk`UNLOAD`.

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

di mana opsi adalah

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

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 Saluran  

![\[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/supported-sql-constructs.UNLOAD.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 defaultnya adalah 78 GB.  
Ukuran file sebenarnya diperkirakan saat file sedang ditulis, sehingga ukuran maksimum sebenarnya mungkin tidak persis sama dengan angka yang Anda tentukan.