Saya mencoba menggunakan Athena untuk menanyakan beberapa file yang ada dalam format Ion dihasilkan oleh fitur Ekspor Ke S3 yang baru ditambahkan pada pencadangan DynamoDB.
Ini adalah format yang sangat bodoh yang pada dasarnya adalah string $ion_1_0
diikuti oleh json. String $ion_1_0
yang tidak diberi tanda kutip di depan membuat data json tidak valid.
Saya mencoba menggunakan Ion Serde dari di sini:
CREATE EXTERNAL TABLE mydb.mytable (
`myfields` string,
...
)
ROW FORMAT SERDE 'com.amazon.ionhiveserde.IonHiveSerDe'
LOCATION 's3:/.../dynamodb-export/AWSDynamoDB/01608775578817-a6944d97/data/'
TBLPROPERTIES ('has_encrypted_data'='true');
Tapi dapatkan ini:
GAGAL: Kesalahan Eksekusi, kembalikan kode 1 dari org.apache.hadoop.hive.ql.exec.DDLTask. Tidak dapat memvalidasi serde: com.amazon.ionhiveserde.IonHiveSerDe
PEMBARUAN
Sebenarnya formatnya sedikit lebih buruk dari yang saya kira. Nama field tidak dikutip. Jadi json tidak cukup valid bahkan setelah awalan $ion dihapus.