本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 Athena 中使用壓縮
Athena 支援各種壓縮格式來讀取和寫入資料,包括從使用多種壓縮格式的資料表讀取。例如,當某些 Parquet 檔案使用 Snappy 壓縮而其他 Parquet 檔案使用 GZIP 壓縮時,Athena 可以成功讀取使用 Parquet 檔案格式的資料表中的資料。相同的原則適用於 ORC、文字檔案和 JSON 儲存格式。
Athena 支援以下壓縮格式:
-
BZIP2 – 使用 Burrows-Wheeler 演算法的格式。
-
DEFLATE – 基於 LZSS
和 Huffman 編碼 的壓縮演算法。Deflate 僅適用於 Avro 檔案格式。 -
GZIP – 以 Deflate 為基礎的壓縮演算法。對於 Athena 引擎版本 2 和 3 中的 Hive 資料表,以及 Athena 引擎版本 2 中的 Iceberg 資料表,GZIP 是採用 Parquet 格式和文字檔案存儲格式之檔案的預設寫入壓縮格式。不支援
tar.gz
格式的檔案。 -
LZ4 – Lempel-Ziv 77 (LZ7) 系列的這個成員也著重於壓縮和解壓縮速度,而不是資料的最大壓縮。LZ4 具有以下框架格式:
-
LZ4 原始/無框架 – LZ4 區塊壓縮格式的無框架標準實作。如需詳細資訊,請參閱 GitHub 上的 LZ4 區塊格式說明
。 -
LZ4 框架 – LZ4 的一般框架實作。如需詳細資訊,請參閱 GitHub 上的 LZ4 框架格式說明
。 -
LZ4 Hadoop 相容 – LZ4 的 Apache Haddop 實作。這個實作使用 BlockCompressorStream.java
類別包裝 LZ4 壓縮。
-
-
LZO – 使用 Lempel–Ziv–Oberhumer 演算法的格式,該演算法著重於高壓縮和解壓縮速度,而不是資料的最大壓縮。LZO 有兩種實作:
-
標準 LZO – 如需詳細資訊,請參閱 Oberhumer 網站上的 LZO 摘要
。 -
LZO Hadoop 相容 – 這個實作使用 BlockCompressorStream.java
類別包裝 LZO 演算法。
-
-
SNAPPY – 屬於 Lempel-Ziv 77 (LZ7) 系列的壓縮演算法。Snappy 著重於高壓縮和解壓縮速度,而不是資料的最大壓縮。
-
ZLIB – 根據 Deflate,ZLIB 是 ORC 資料儲存格式中檔案的預設寫入壓縮格式。如需詳細資訊,請參閱 GitHub 上的 zlib
頁面。 -
ZSTD – Zstandard 即時資料壓縮演算法
是一種提供高壓縮比的快速壓縮演算法。Zstandard (ZSTD) 程式庫是使用 BSD 授權作為開放原始碼所提供。ZSTD 是 Iceberg 資料表的預設壓縮。寫入 ZSTD 壓縮資料時,Athena 預設使用 ZSTD 壓縮級別 3。如需有關在 Athena 中使用 ZSTD 壓縮級別的詳細資訊,請參閱 使用 ZSTD 壓縮層級。
注意
Athena 不支援編寫以 LZ4 或 LZO 格式壓縮的 Parquet 檔案。支援這些壓縮格式的讀取。
指定壓縮格式
當您寫入 CREATE TABLE 或 CTAS 陳述式時,您可以指定壓縮屬性,以指定 Athena 寫入這些資料表時要使用的壓縮類型。
-
如需 CTAS 的資訊,請參閱 CTAS 資料表屬性。如需範例,請參閱 CTAS 查詢的範例。
-
如需 CREATE TABLE 的資訊,請參閱 ALTER TABLE SET TBLPROPERTIES 以取得壓縮資料表屬性的清單。
指定沒有壓縮
CREATE TABLE 陳述式支援寫入未壓縮的檔案。若要編寫未壓縮檔案,請使用下列語法:
-
CREATE TABLE (文字檔案或 JSON) – 在
TBLPROPERTIES
中,指定write.compression = NONE
。 -
CREATE TABLE (Parquet) – 在
TBLPROPERTIES
中,指定parquet.compression = UNCOMPRESSED
。 -
CREATE TABLE (ORC) – 在
TBLPROPERTIES
中,指定orc.compress = NONE
。
備註和資源
-
目前 Athena 無法識別大寫的副檔名,諸如
.GZ
或.BZIP2
。避免使用大寫副檔名的資料集,或將資料副檔名重新以小寫字母命名。 -
若為 CSV、TSV 和 JSON 的資料,Athena 會根據副檔名決定壓縮類型。如果不存在任何副檔名,Athena 會將資料視為未壓縮的純文字。如果您的資料已壓縮,請確定檔案名稱包含副檔名,例如
gz
。 -
不支援 ZIP 檔案格式。
-
若要從 Athena 查詢 Amazon Data Firehose 日誌,支援的格式包括 GZIP 壓縮或具有 SNAPPY 壓縮的 ORC 檔案。
-
如需使用壓縮的詳細資訊,請參閱 Amazon Athena AWS 大數據部落格文章前 10 大效能調校秘訣的第 3 節 (「壓縮和分割檔案」)。 Amazon Athena