Amazon Athenaのクエリエンジン Version 2がリリースされました。https://aws.amazon.com/jp/about-aws/whats-new/2020/11/amazon-athena-announces-availability-of-engine-version-2/

Version 2の変更のポイントは、Presto0.172からPresto0.217にアップデート、Federated queriesをはじめとする新機能、パフォーマンスの改善です。


主な新機能と変更について

■Federated Query
Amazon S3 以外のソースにデータがある場合、Athena Federated Query を使用してその場でデータをクエリしたり、複数のデータソースからデータを抽出して Amazon S3 に格納するパイプラインを構築したりできます。

リレーショナル、非リレーショナル、オブジェクト、およびカスタムデータソースに保存されているデータについて SQL クエリの実行が可能です。

今回のVersion2でGAになっていますので、詳細は以下でご確認ください。
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/connect-to-a-data-source.html

■Geospatial functions
地理空間関数は、25を超える関数が追加されました。
Presto0.172からPresto0.217にアップデートに伴い追加・変更された関数です。なお、既存の関数にも変更が発生していますので、注意が必要です。詳細は以下でご確認ください。
https://docs.aws.amazon.com/ja_jp/athena/latest/ug/geospatial-functions-list-v2-function-name-changes-and-new-functions.html#geospatial-functions-list-v2-new-functions

■JOIN and AGGREGATE 操作
JOIN、AGGREGATE のパフォーマンスが向上されました。

■ネストされたスキーマのサポート
Nested schema 読み取りのサポートが追加され、コストが削減されました。

■Null equality checks
Null値のためのチェックについて、ARRAY、MAPおよびROW データ構造がサポートされるようになりました。
Version1は、式ARRAY [‘1’, ‘3’, null] = ARRAY [‘1’, ‘2’, null]は、null要素がエラーメッセージ「comparison not supported」を返していましたが、Version2はfalseを返すようになりました。

■ORDER BY
ORDER BY がデフォルトで分散されるようになり、より大きなORDER BY 句の使用ができるようになりました。

■Schema evolution support
ParquetやORCのサポートが追加されました。
・パーティションスキーマがテーブルスキーマと異なるパーティションからARRAY、MAP、または行のデータ構造を読み取るためのサポートが追加されました。
・ORCファイルには、フィールドが欠落している構造体列を含めることができるようになりました。ORCファイルを書き換えることなくテーブルスキーマが変更可能です。
・ORC構造体列は、優先的に名前でマップされるようになりました。
ORCファイルの欠落または追加の構造を処理できるようになりました。

■Spill to disk
メモリインテンシブな INNER JOIN及びLEFT JOINクエリを、ディスクへ中間演算結果をオフロードできるようになりました。その結果、大量のメモリを必要とするクエリを実行できるようになりました。

■zip_with()
zip_with()を用いて長さが一致しない配列を取り扱えるようになりました。
欠落している部分はnullで埋められます。以前は、異なる長さの配列が渡されたときにエラーが発生していました。


■ご利用いただく際の注意事項
2020年11月13日時点では、米国東部 (バージニア北部、オハイオ) および米国西部 (オレゴン) リージョンで利用が可能です。