本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Athena 主控台中的表單新增 AWS Glue 表格
下列程序會說明如何利用 Athena 主控台,使用 Create Table From S3 bucket data (從 S3 儲存貯體資料建立資料表) 表單新增資料表。
新增資料表和使用表單輸入結構描述資訊
在 https://console.aws.amazon.com/athena/
中開啟 Athena 主控台。 -
在查詢編輯器中,選擇位在 Tables and views (資料表和檢視) 旁的 Create (建立),然後選擇 S3 bucket data (S3 儲存貯體資料)。
-
在 Create Table From S3 bucket data (從 S3 儲存貯體資料建立資料表) 表單上,對於 Table name (資料表名稱),輸入資料表的名稱。如需有關 Athena 中資料庫名稱、資料表名稱和欄名稱可接受字元的資訊,請參閱命名資料庫、資料表和資料行。
-
對於 Database configuration (資料庫組態),選擇現有資料庫或建立新資料庫。
-
對於 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/)。
-
在 Data Format (資料格式) 中,請選擇下列選項:
-
對於 Table type (資料表類型),選擇 Apache Hive、Apache Iceberg 或 Delta Lake。Athena 預設使用 Apache Hive 資料表類型。如需有關在 Athena 中查詢 Apache Iceberg 的詳細資訊,請參閱 查詢 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 為您的資料選擇。
-
-
-
對於SerDe 性質,請根據您使用的 SerDe 資源庫和需求加入、編輯或移除性質和值。
-
若要新增 SerDe 屬性,請選擇 [新增 SerDe屬性]。
-
在 Name (名稱) 欄位中,輸入屬性的名稱。
-
在 Value (值) 欄位中,輸入屬性的值。
-
若要移除 SerDe 屬性,請選擇 [移除]。
-
-
在 Table properties (資料表屬性) 中,請根據您的需求選擇或編輯資料表屬性。
-
在 Write compression (寫入壓縮) 中,選擇壓縮選項。是否提供寫入壓縮選項和可用壓縮選項取決於資料格式。如需詳細資訊,請參閱在 Athena 使用壓縮。
-
如果基礎資料是在 Amazon S3 中加密,在 Encryption (加密) 中,選取 Encrypted data set (加密的資料集)。此選項會在
CREATE TABLE
陳述式中將has_encrypted_data
資料表屬性設定為 true。
-
-
在 Column details (資料欄詳細資訊) 中,輸入要新增至資料表的資料欄名稱和資料類型。
-
若要一次新增更多資料欄,請選擇 Add a column (新增資料欄)。
-
若要快速新增更多資料欄,請選擇 Bulk add columns (大量新增資料欄)。在文字方塊中,輸入以逗號分隔的格式欄清單
column_name
data_type
,column_name
data_type
[、...],然後選擇「新增」。
-
-
(選用) 對於 Partition details (分割區詳情),新增一個或多個資料欄名稱和資料類型。分割會根據資料欄值將相關資料保存在一起,有助於減少每次查詢掃描的資料量。如需分割的相關資訊,請參閱分割您的資料。
-
(選用) 在 Bucketing (歸納) 中,您可以指定包含要組合在一起的資料列的一個或多個資料欄,然後將這些資料列放入多個儲存貯體中。這可允許您在指定已歸納的資料欄值時僅查詢要讀取的儲存貯體。
-
在 Buckets (儲存貯體) 中,請選取具有大量唯一值 (例如主索引鍵) 且經常用來篩選查詢中資料的一個或多個資料欄。
-
在 Number of buckets (儲存貯體數量) 中,輸入可讓檔案具有最佳大小的儲存貯體數量。如需詳細資訊,請參閱大數據部落格中的 Amazon Athena 十 AWS 大效能調整秘訣
。 -
若要指定歸納的資料欄,
CREATE TABLE
陳述式會使用下列語法:CLUSTERED BY (
bucketed_columns
) INTOnumber_of_buckets
BUCKETS
注意
Bucketing (歸納) 選項不適用於 Iceberg 資料表類型。
-
-
Preview table query (預覽資料表查詢) 方塊顯示由您所輸入到表單中的資訊產生的
CREATE TABLE
陳述式。無法直接編輯預覽陳述式。若要變更陳述式,請修改預覽上方的表單欄位,或不使用表單,在查詢編輯器中直接建立陳述式。 -
選擇 Create table (建立資料表) 以在查詢編輯器中執行產生的陳述式並建立資料表。