2020-07-31 にオンライン開催された Spark Meetup Tokyo #3 Online に参加した。
感想などメモしておく。

全体感

トピックとしては主に

  • Spark 3.0
  • Spark + AI Summit 2020
  • Spark 周辺要素

といったところだろうか。
最近のコミュニティの動向や関心を日本語で聞くことができてよかった。

運営 & スピーカーの皆様、ありがとうございます。

発表

発表資料は公開されたら追加していく。

SPARK+AI Summit 2020 イベント概要

スピーカー: @tokyodataguy さん

  • Summit は金融業界の参加者が増えているらしい
  • Spark で最も使われている言語は Python とのことだったが、Databricks の notebook サービスの話だった
    • プロダクションコードではまた違うのだろう
  • Spark 3.0 の update をざっくりと
  • Spark 周辺要素の話をざっくりと
    • Koalas
    • Delta Lake
    • Redash
    • MLflow

Introducing Koalas 1.0

Introducing Koalas 1.0 (and 1.1) from Takuya UESHIN

スピーカー: @ueshin さん

  • What’s Koalas
    • open source の pure Python library
    • pandas の API で Spark を動かせるようにする
    • 小さいデータも大きなデータも同じように扱えるように
  • 最近 v1.1 をリリース
  • (個人的には pandas の API があまり好きではなく…)

SPARK+AI Summit 2020 のセッションハイライト

Spark + AI Summit 2020セッションのハイライト(Spark Meetup Tokyo #3 Online発表資料) from NTT DATA Technology & Innovation

スピーカー: @masaru_dobashi さん

  • Summit のセッションから case study 的なセッションを2つピックアップ
  • USCIS の例
  • Alibaba の例
    • Spark Structured Streming の上に SQL-like なものを載せた?
    • ストリームの mini-batch 処理の合間で compaction を行う (つらそう)
  • スライド中の「パイプラインの途中でモダンな技術に流し込めるかどうか?」という言葉が印象的だった
    • モダンなものに移行するとき現実的に重要

Spark v3.0の紹介

前半

Introduction new features in Spark 3.0 from Kazuaki Ishizaki

スピーカー: @kiszk さん

  • SQL の性能に関わる7大機能の話
    1. Query planの新しい表示方法
    2. Join hintsの強化
    3. Adaptive query execution
    4. Dynamic partitioning pruning
    5. nested column pruning & pushdown の強化
    6. Aggregation のコード生成の改良
    7. ScalaとJavaの新バージョンのサポート
  • 実行計画が見やすくなるのは本当にうれしい
  • 人がチューニングしていた部分が Adaptive Query Plan や Dynamic Partition Pruning で自動化されるのもうれしい

後半

Apache Spark 3.0新機能紹介 - 拡張機能やWebUI関連のアップデート(Spark Meetup Tokyo #3 Online) from NTT DATA Technology & Innovation

スピーカー: @raspberry1123 さん

  • Accelarator Aware Scheduling
    • Project Hydrogen
  • プラグイン機能
    • executor や driver の機能を user が拡張できる
    • executor については Spark 2.4 からあったそうだが知らなかった…
  • Structured Straming web UI
    • ストリーム処理にはこういった chart が必要だと思う

SparkにPRを投げてみた

Sparkにプルリク投げてみた from Noritaka Sekiyama

スピーカー: @moomindani さん

  • スピーカーは AWS で Glue の開発をしている方
  • Glue は Spark に強く依存しているため、機能追加にモチベーションがあったとのこと
  • 私も投げてみたい!

LT: td-spark internals: AirframeでSparkの機能を拡張するテクニック

td-spark internals: Extending Spark with Airframe - Spark Meetup Tokyo #3 2020 from Taro L. Saito

スピーカー: @taroleo さん

  • Airframe とは Scala の application 開発用ツール群のようなもの?
  • Spark の機能を拡張

LT: Spark 3.1 Feature Expectation

LT: Spark 3.1 Feature Expectation from Takeshi Yamamuro

スピーカー: @maropu さん

  • 新機能
    • Support Filter Pushdown JSON
      • JSON の読み取りが早くなる
    • Better Handling for Node Shutdown
      • node 離脱時にその node が保持する shuffle や cache の情報が失われていた
      • 計画された node の離脱に対して shuffle や cache ブロックを別 node に委譲

まとめ

どんどん便利になっていくなという印象。
手でパフォーマンスチューニングする要素はどんどん減っていくのだろう。

Delta Lake が盛り上がっているように感じた。
データレイクについて勉強しないと…