View a markdown version of this page

建立 Amazon Ion 資料表 - Amazon Athena

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

建立 Amazon Ion 資料表

若要在 Athena 中,從以 Amazon Ion 格式存放的資料中建立資料表,您可以在 CREATE TABLE 陳述式中使用下列其中一項技術:

  • 指定 STORED AS ION。在這種用法中,您不必明確指定 Amazon Ion Hive SerDe。這種選擇是更為直接的選項。

  • 在 ROW FORMAT SERDE、INPUTFORMAT 和 OUTPUTFORMAT 欄位中指定 Amazon Ion 類別路徑。

您還可以使用 CREATE TABLE AS SELECT (CTAS) 陳述式在 Athena 中建立 Amazon Ion 資料表。如需相關資訊,請參閱使用 CTAS 和 INSERT INTO 來建立 Amazon Ion 資料表。

指定 STORED AS ION

以下 CREATE TABLE 陳述式範例在 LOCATION 子句前使用 STORED AS ION,以基於 Amazon Ion 格式的航班資料建立資料表。LOCATION 子句指定了 Ion 格式輸入文件所在的儲存貯體或資料夾。掃描指定位置中的所有檔案。

CREATE EXTERNAL TABLE flights_ion ( yr INT, quarter INT, month INT, dayofmonth INT, dayofweek INT, flightdate STRING, uniquecarrier STRING, airlineid INT, ) STORED AS ION LOCATION 's3://amzn-s3-demo-bucket/'

指定 Amazon Ion 類別路徑

您可以明確指定 ROW FORMAT SERDE、INPUTFORMAT 和 OUTPUTFORMAT 子句的 Ion 類別路徑值,但不要使用 STORED AS ION 語法,如下所示。

參數 Ion 類別路徑
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat'
OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat'

以下 DDL 查詢使用此技術建立與上一個範例相同的外部資料表。

CREATE EXTERNAL TABLE flights_ion ( yr INT, quarter INT, month INT, dayofmonth INT, dayofweek INT, flightdate STRING, uniquecarrier STRING, airlineid INT, ) ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe' STORED AS INPUTFORMAT 'com.amazon.ionhiveserde.formats.IonInputFormat' OUTPUTFORMAT 'com.amazon.ionhiveserde.formats.IonOutputFormat' LOCATION 's3://amzn-s3-demo-bucket/'

有關 Athena 中的 CREATE TABLE 陳述式的 SerDe 屬性相關資訊,請參閱Amazon Ion SerDe 屬性參考。