Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Dukungan kompresi Athena
Topik
Athena mendukung berbagai format kompresi untuk membaca dan menulis data, termasuk membaca dari tabel yang menggunakan beberapa format kompresi. Misalnya, Athena berhasil membaca data dalam tabel yang menggunakan format file Parket ketika beberapa file Parket dikompresi dengan Snappy dan file Parket lainnya dikompresi dengan GZIP. Prinsip yang sama berlaku untuk ORC, file teks, dan format penyimpanan JSON.
Athena mendukung format kompresi berikut:
-
BZIP2 — Format yang menggunakan algoritma Burrows-Wheeler.
-
DEFLATE — Algoritma kompresi berdasarkan pengkodean LZSS
dan Huffman. Deflate hanya relevan untuk format file Avro. -
GZIP — Algoritma kompresi berdasarkan Deflate. Untuk tabel Hive di mesin Athena versi 2 dan 3, dan tabel Iceberg di mesin Athena versi 2, GZIP adalah format kompresi tulis default untuk file dalam format penyimpanan file Parket dan teks. File dalam
tar.gz
format tidak didukung. -
LZ4 — Anggota keluarga Lempel-Ziv 77 (LZ7) ini juga berfokus pada kecepatan kompresi dan dekompresi daripada kompresi data maksimum. LZ4 memiliki format pembingkaian berikut:
-
LZ4 Raw/Unframed — Implementasi standar format kompresi blok LZ4 yang tidak dibingkai. Untuk informasi selengkapnya, lihat deskripsi format blok LZ4
di. GitHub -
LZ4 dibingkai - Implementasi pembingkaian LZ4 yang biasa. Untuk informasi selengkapnya, lihat deskripsi format bingkai LZ4
di. GitHub -
LZ4 hadoop-kompatibel - Implementasi Apache Hadoop dari LZ4. Implementasi ini membungkus kompresi LZ4 dengan kelas.java. BlockCompressorStream
-
-
LZO — Format yang menggunakan algoritma Lempel—Ziv-Oberhumer, yang berfokus pada kompresi tinggi dan kecepatan dekompresi daripada kompresi maksimum data. LZO memiliki dua implementasi:
-
LZO Standar — Untuk informasi lebih lanjut, lihat abstrak
LZO di situs web Oberhumer. -
LZO hadoop-compatible — Implementasi ini membungkus algoritma LZO dengan kelas.java. BlockCompressorStream
-
-
SNAPPY — Algoritma kompresi yang merupakan bagian dari keluarga Lempel-Ziv 77 (LZ7). Snappy berfokus pada kecepatan kompresi dan dekompresi yang tinggi daripada kompresi maksimum data.
-
ZLIB — Berdasarkan Defrate, ZLIB adalah format kompresi tulis default untuk file dalam format penyimpanan data ORC. Untuk informasi lebih lanjut, lihat halaman zlib
di. GitHub -
ZSTD — Algoritma kompresi data real-time Zstandard adalah algoritma kompresi
cepat yang memberikan rasio kompresi tinggi. Pustaka Zstandard (ZSTD) disediakan sebagai perangkat lunak sumber terbuka menggunakan lisensi BSD. ZSTD adalah kompresi default untuk tabel Iceberg. Saat menulis data terkompresi ZSTD, Athena menggunakan kompresi ZSTD level 3 secara default. Untuk informasi lebih lanjut tentang menggunakan tingkat kompresi ZSTD di Athena, lihat. Menggunakan tingkat kompresi ZSTD di Athena
Menentukan format kompresi
Saat Anda menulis pernyataan CREATE TABLE atau CTAS, Anda dapat menentukan properti kompresi yang menentukan jenis kompresi yang akan digunakan saat Athena menulis ke tabel tersebut.
-
Untuk CTAS, lihatProperti tabel CTAS. Sebagai contoh, lihat Contoh kueri CTAS.
-
Untuk CREATE TABLE, lihat ALTER TABLE SET TBLPROPERTIES daftar properti tabel kompresi.
Menentukan tidak ada kompresi
Pernyataan CREATE TABLE mendukung penulisan file yang tidak terkompresi. Untuk menulis file yang tidak terkompresi, gunakan sintaks berikut:
-
BUAT TABEL (file teks atau JSON) - Dalam
TBLPROPERTIES
, tentukanwrite.compression = NONE
. -
BUAT TABEL (Parket) — Dalam
TBLPROPERTIES
, tentukanparquet.compression = UNCOMPRESSED
. -
BUAT TABEL (ORC) - Dalam
TBLPROPERTIES
, tentukanorc.compress = NONE
.
Catatan dan sumber daya
-
Saat ini, ekstensi file huruf besar seperti
.GZ
atau tidak dikenali.BZIP2
oleh Athena. Hindari menggunakan kumpulan data dengan ekstensi file huruf besar, atau ganti nama ekstensi file data menjadi huruf kecil. -
Untuk data dalam CSV, TSV, dan JSON, Athena menentukan jenis kompresi dari ekstensi file. Jika tidak ada ekstensi file, Athena memperlakukan data sebagai teks biasa yang tidak terkompresi. Jika data Anda dikompresi, pastikan nama file menyertakan ekstensi kompresi, seperti
gz
. -
Format file ZIP tidak didukung.
-
Untuk menanyakan log Amazon Data Firehose dari Athena, format yang didukung mencakup kompresi GZIP atau file ORC dengan kompresi SNAPPY.
-
Untuk informasi selengkapnya tentang penggunaan kompresi, lihat bagian 3 (“Kompres dan pisahkan file”) dari posting Blog AWS Big Data 10 kiat penyetelan kinerja teratas untuk Amazon Athena
.