Buat array - Amazon Athena

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

Buat array

Untuk membangun sebuah larik literal di Athena, gunakanARRAYkata kunci, diikuti dengan tanda kurung[ ], dan termasuk elemen larik dipisahkan dengan koma.

Contoh

Kueri ini menciptakan satu larik dengan empat elemen.

SELECT ARRAY [1,2,3,4] AS items

Ini menghasilkan:

+-----------+ | items | +-----------+ | [1,2,3,4] | +-----------+

Kueri ini menciptakan dua larik.

SELECT ARRAY[ ARRAY[1,2], ARRAY[3,4] ] AS items

Ini menghasilkan:

+--------------------+ | items | +--------------------+ | [[1, 2], [3, 4]] | +--------------------+

Untuk membuat larik dari kolom yang dipilih dari tipe yang kompatibel, gunakan kueri, seperti dalam contoh ini:

WITH dataset AS ( SELECT 1 AS x, 2 AS y, 3 AS z ) SELECT ARRAY [x,y,z] AS items FROM dataset

Kueri ini kembali:

+-----------+ | items | +-----------+ | [1,2,3] | +-----------+

Pada contoh berikut, dua larik dipilih dan dikembalikan sebagai pesan selamat datang.

WITH dataset AS ( SELECT ARRAY ['hello', 'amazon', 'athena'] AS words, ARRAY ['hi', 'alexa'] AS alexa ) SELECT ARRAY[words, alexa] AS welcome_msg FROM dataset

Kueri ini kembali:

+----------------------------------------+ | welcome_msg | +----------------------------------------+ | [[hello, amazon, athena], [hi, alexa]] | +----------------------------------------+

Untuk membuat larik pasangan nilai kunci, gunakanMAPoperator yang mengambil larik kunci diikuti oleh larik nilai, seperti dalam contoh ini:

SELECT ARRAY[ MAP(ARRAY['first', 'last', 'age'],ARRAY['Bob', 'Smith', '40']), MAP(ARRAY['first', 'last', 'age'],ARRAY['Jane', 'Doe', '30']), MAP(ARRAY['first', 'last', 'age'],ARRAY['Billy', 'Smith', '8']) ] AS people

Kueri ini menghasilkan:

+-----------------------------------------------------------------------------------------------------+ | people | +-----------------------------------------------------------------------------------------------------+ | [{last=Smith, first=Bob, age=40}, {last=Doe, first=Jane, age=30}, {last=Smith, first=Billy, age=8}] | +-----------------------------------------------------------------------------------------------------+