先日のアナウンスで、Glue Job から DataCatalog に直接アクセスできるようになりました。
「AWS Glue によって Apache Spark SQL クエリの実行が可能に」というリリースタイトルがやや誤解を招きそうですが、Spark SQL はもともと利用できたのですが、今までは createOrReplaceTempView
をいちいち呼んで Spark SQL で処理するデータを登録しなければいけませんでした。この手間がなくなるというリリースです:
一番下に、 Use Glue data catalog as the Hive Metastore
というオプションが追加されていました。デフォルトではオンになっています。
直感的にはそうあってほしい状態がやっと実現されて嬉しいです。今までは読み込むパーティションを手動で制御していたので手間が減ります。ただ、SparkSQL から直接 DataCatalog を読み込む場合は読み込むデータ範囲はどうなるのか(必要なデータのみ取得してくれるのか)が気になるので動作確認しています。何かわかったら追記します。(追記)Spark の挙動として、WHERE 句の条件で取得するデータを push down するようです。