使用 Athena 主控台中的表單新增 AWS Glue 表格 - Amazon Athena

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

使用 Athena 主控台中的表單新增 AWS Glue 表格

下列程序會說明如何利用 Athena 主控台,使用 Create Table From S3 bucket data (從 S3 儲存貯體資料建立資料表) 表單新增資料表。

新增資料表和使用表單輸入結構描述資訊
  1. https://console.aws.amazon.com/athena/ 中開啟 Athena 主控台。

  2. 在查詢編輯器中,選擇位在 Tables and views (資料表和檢視) 旁的 Create (建立),然後選擇 S3 bucket data (S3 儲存貯體資料)。

  3. Create Table From S3 bucket data (從 S3 儲存貯體資料建立資料表) 表單上,對於 Table name (資料表名稱),輸入資料表的名稱。如需有關 Athena 中資料庫名稱、資料表名稱和欄名稱可接受字元的資訊,請參閱命名資料庫、資料表和資料行

  4. 對於 Database configuration (資料庫組態),選擇現有資料庫或建立新資料庫。

  5. 對於 Location of Input Data Set (輸入資料集的位置),請指定 Amazon S3 中的資料夾路徑,該資料夾包含您要處理的資料集。請勿在路徑中包含檔案名稱。Athena 會掃描您指定之資料夾中的所有檔案。如果您的資料已經進行分割 (例如,

    s3://amzn-s3-demo-bucket/logs/year=2004/month=12/day=11/),只輸入基本路徑 (例如,s3://amzn-s3-demo-bucket/logs/)。

  6. Data Format (資料格式) 中,請選擇下列選項:

    • 對於 Table type (資料表類型),選擇 Apache HiveApache IcebergDelta Lake。Athena 預設使用 Apache Hive 資料表類型。如需有關在 Athena 中查詢 Apache Iceberg 的詳細資訊,請參閱 查詢阿帕奇冰山表。如需有關在 Athena 中使用 Delta Lake 資料表的詳細資訊,請參閱 查詢 Linux 基礎三角洲湖表

    • File format (檔案格式) 中,選擇資料所在的檔案或使用的日誌格式。

      • 對於 Text File with Custom Delimiters (含自訂分隔符號的文字檔) 選項,指定 Field terminator (欄位結束字元) (亦即資料欄分隔符號)。或者,您可以指定標記陣列類型結尾的 Collection terminator (集合結束符號),或指定標記地圖資料類型結尾的 Collection terminator (集合結束符號)。

    • SerDe 函式 — SerDe (序列化程式-還原序列化程式) 程式庫會剖析特定的資料格式,以便 Athena 可以為其建立資料表。對於大多數格式,系統會為您選擇預設 SerDe 資料庫。對於下列格式,請根據您的需求選擇程式庫:

      • Apache 網頁記錄 — 選擇RegexSerDe或程式GrokSerDe庫。對於 RegexSerDe,請在 [Regex 定義] 方塊中提供規則運算式。對於 GrokSerDe,提供屬性的一系列具名規則運算input.format SerDe 式。具名的規則表達式比規則表達式更容易讀取和維護。如需詳細資訊,請參閱查詢存放在 Amazon S3 的阿帕奇日誌

      • CSV— 選擇LazySimpleSerDe逗號分隔的資料是否不包含以雙引號括住的值,或是否使用java.sql.Timestamp格式。如果您的資料包含引號,或使用UNIX數字格式 TIMESTAMP (例如1564610311),請選擇 O penCSVSer D e。如需詳細資訊,請參閱 懶惰簡單 SerDe 的 CSVTSV,和自定義分隔的文件開放CSV SerDe 進行處理 CSV

      • JSON— 選擇任一 OpenX蜂巢JSON SerDe 庫. 這兩種格式都希望每個JSON文檔都位於單行文本上,並且字段不能用換行符分隔。OpenX SerDe 提供了一些額外的屬性。如需這些屬性的相關資訊,請參閱OpenX JSON SerDe。如需有關 Hive 的資訊 SerDe,請參閱蜂巢 JSON SerDe

      如需在 Athena 中使用 SerDe 程式庫的詳細資訊,請參閱 SerDe 為您的資料選擇

  7. 對於SerDe 性質,請根據您使用的 SerDe 資源庫和需求加入、編輯或移除性質和值。

    • 若要新增 SerDe 屬性,請選擇 [新增 SerDe屬性]。

    • Name (名稱) 欄位中,輸入屬性的名稱。

    • Value (值) 欄位中,輸入屬性的值。

    • 若要移除 SerDe 屬性,請選擇 [移除]。

  8. Table properties (資料表屬性) 中,請根據您的需求選擇或編輯資料表屬性。

    • Write compression (寫入壓縮) 中,選擇壓縮選項。是否提供寫入壓縮選項和可用壓縮選項取決於資料格式。如需詳細資訊,請參閱在 Athena 使用壓縮

    • 如果基礎資料是在 Amazon S3 中加密,在 Encryption (加密) 中,選取 Encrypted data set (加密的資料集)。此選項會在 CREATE TABLE 陳述式中將 has_encrypted_data 資料表屬性設定為 true。

  9. Column details (資料欄詳細資訊) 中,輸入要新增至資料表的資料欄名稱和資料類型。

    • 若要一次新增更多資料欄,請選擇 Add a column (新增資料欄)

    • 若要快速新增更多資料欄,請選擇 Bulk add columns (大量新增資料欄)。在文字方塊中,輸入以逗號分隔的格式欄清單 column_name data_type, column_name data_type[、...],然後選擇「新增」。

  10. (選用) 對於 Partition details (分割區詳情),新增一個或多個資料欄名稱和資料類型。分割會根據資料欄值將相關資料保存在一起,有助於減少每次查詢掃描的資料量。如需分割的相關資訊,請參閱分割您的資料

  11. (選用) 在 Bucketing (歸納) 中,您可以指定包含要組合在一起的資料列的一個或多個資料欄,然後將這些資料列放入多個儲存貯體中。這可允許您在指定已歸納的資料欄值時僅查詢要讀取的儲存貯體。

    • Buckets (儲存貯體) 中,請選取具有大量唯一值 (例如主索引鍵) 且經常用來篩選查詢中資料的一個或多個資料欄。

    • Number of buckets (儲存貯體數量) 中,輸入可讓檔案具有最佳大小的儲存貯體數量。如需詳細資訊,請參閱大數據部落格中的 Amazon Athena 十 AWS 大效能調整秘訣

    • 若要指定歸納的資料欄,CREATE TABLE 陳述式會使用下列語法:

      CLUSTERED BY (bucketed_columns) INTO number_of_buckets BUCKETS
    注意

    Bucketing (歸納) 選項不適用於 Iceberg 資料表類型。

  12. Preview table query (預覽資料表查詢) 方塊顯示由您所輸入到表單中的資訊產生的 CREATE TABLE 陳述式。無法直接編輯預覽陳述式。若要變更陳述式,請修改預覽上方的表單欄位,或不使用表單,在查詢編輯器中直接建立陳述式

  13. 選擇 Create table (建立資料表) 以在查詢編輯器中執行產生的陳述式並建立資料表。