Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Avro SerDe

Mode fokus
Avro SerDe - Amazon Athena

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Gunakan Avro SerDe untuk membuat tabel Athena dari data Avro.

Nama pustaka serialisasi

Nama pustaka serialisasi untuk Avro SerDe adalah. org.apache.hadoop.hive.serde2.avro.AvroSerDe Untuk informasi teknis, lihat AvroSerDedi dokumentasi Apache.

Gunakan Avro SerDe

Untuk alasan keamanan, Athena tidak mendukung penggunaan avro.schema.url untuk menentukan skema tabel; gunakan sebagai gantinya. avro.schema.literal

Untuk mengekstrak skema dari data dalam format Avro, gunakan avro-tools-<version>.jar file Apache yang terletak di java subdirektori rilis Avro yang Anda instal. Gunakan getschema parameter untuk mengembalikan skema yang dapat Anda gunakan dalam WITH SERDEPROPERTIES pernyataan Anda, seperti pada contoh berikut.

java -jar avro-tools-1.8.2.jar getschema my_data.avro

Untuk mengunduh Avro, lihat rilis Apache Avro. Untuk mengunduh Apache Avro Tools secara langsung, lihat repositori Apache Avro tools Maven.

Setelah Anda mendapatkan skema, gunakan CREATE TABLE pernyataan untuk membuat tabel Athena berdasarkan data Avro yang mendasari yang disimpan di Amazon S3. Untuk menentukan Avro SerDe dalam CREATE TABLE pernyataan Anda, gunakanROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'. Tentukan skema menggunakan WITH SERDEPROPERTIES klausa, seperti pada contoh berikut.

catatan

Ganti myregion masuk s3://athena-examples-myregion/path/to/data/ dengan pengenal wilayah tempat Anda menjalankan Athena, misalnya,. s3://athena-examples-us-west-1/path/to/data/

CREATE EXTERNAL TABLE flights_avro_example ( yr INT, flightdate STRING, uniquecarrier STRING, airlineid INT, carrier STRING, flightnum STRING, origin STRING, dest STRING, depdelay INT, carrierdelay INT, weatherdelay INT ) PARTITIONED BY (year STRING) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe' WITH SERDEPROPERTIES ('avro.schema.literal'=' { "type" : "record", "name" : "flights_avro_subset", "namespace" : "default", "fields" : [ { "name" : "yr", "type" : [ "null", "int" ], "default" : null }, { "name" : "flightdate", "type" : [ "null", "string" ], "default" : null }, { "name" : "uniquecarrier", "type" : [ "null", "string" ], "default" : null }, { "name" : "airlineid", "type" : [ "null", "int" ], "default" : null }, { "name" : "carrier", "type" : [ "null", "string" ], "default" : null }, { "name" : "flightnum", "type" : [ "null", "string" ], "default" : null }, { "name" : "origin", "type" : [ "null", "string" ], "default" : null }, { "name" : "dest", "type" : [ "null", "string" ], "default" : null }, { "name" : "depdelay", "type" : [ "null", "int" ], "default" : null }, { "name" : "carrierdelay", "type" : [ "null", "int" ], "default" : null }, { "name" : "weatherdelay", "type" : [ "null", "int" ], "default" : null } ] } ') STORED AS AVRO LOCATION 's3://athena-examples-myregion/flight/avro/';

Jalankan MSCK REPAIR TABLE pernyataan di atas meja untuk menyegarkan metadata partisi.

MSCK REPAIR TABLE flights_avro_example;

Tanyakan 10 kota keberangkatan teratas berdasarkan jumlah total keberangkatan.

SELECT origin, count(*) AS total_departures FROM flights_avro_example WHERE year >= '2000' GROUP BY origin ORDER BY total_departures DESC LIMIT 10;
catatan

Data tabel penerbangan berasal dari Penerbangan yang disediakan oleh Departemen Perhubungan AS, Biro Statistik Transportasi. Desaturasi dari aslinya.

Di halaman ini

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.