使用陣列建立映射 - Amazon Athena

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用陣列建立映射

映射是由 Athena 中可用的資料類型組成的鍵值組。若要建立映射,請使用 MAP 運算子並傳入兩個陣列:第一個是欄 (金鑰) 名稱,第二個是值。陣列的所有值必須是相同類型。如果任何映射值陣列元素必須是不同類型,您稍後可以轉換它們。

範例

此範例從資料集選取使用者。它使用 MAP 運算子並傳入兩個陣列。第一個陣列包含欄名稱的值,例如 "first"、"last" 和 "age"。第二個陣列包含每個欄的值,例如 "Bob"、"Smith"、"35"。

WITH dataset AS ( SELECT MAP( ARRAY['first', 'last', 'age'], ARRAY['Bob', 'Smith', '35'] ) AS user ) SELECT user FROM dataset

此查詢會傳回:

+---------------------------------+ | user | +---------------------------------+ | {last=Smith, first=Bob, age=35} | +---------------------------------+

您可以選取欄位名稱,後面接著 [key_name],以擷取 Map 值,如以下範例所示:

WITH dataset AS ( SELECT MAP( ARRAY['first', 'last', 'age'], ARRAY['Bob', 'Smith', '35'] ) AS user ) SELECT user['first'] AS first_name FROM dataset

此查詢會傳回:

+------------+ | first_name | +------------+ | Bob | +------------+