株式会社クリアコード > ククログ

ククログ


Apache Arrow東京ミートアップ2019:Apache Arrow 2019 #ArrowTokyo

必要に応じてイベント企画もがんばる須藤です。

2019年12月11日にApache Arrow東京ミートアップ2019を開催しました。去年のApache Arrow東京ミートアップ2018に引き続き2回目の開催です。今回もSpeeeさんに会場提供・懇親会用飲食物提供などもろもろお世話になりました。ありがとうございます!

関連リンク:

内容

Apache Arrowの最新情報(2019年9月版)で紹介した通り、Apache Arrow 1.0.0がリリースされようとしています。おそらく、2020年2月くらいにリリースされるのではないかと思います。そこで、今年のApache Arrow東京ミートアップはApache Arrowユーザーを増やすことを目指して企画しました。

私のパートでは、Apache Arrowをまだ知らない人向けにApache Arrowが実現しようとしていることを紹介しました。技術的な詳細にはあまり立ち入らず、要点を理解してもらえるといいなという感じでまとめたつもりです。Apache Arrowについてを知るために最初にざっと確認する資料として活用できるものになっているといいな。

ユーザーを増やす取り組み

去年のイベントではApache Arrowの開発に参加する人を増やそうと企画しましたが、今年は1.0.0のリリース(初のメジャーリリース!)が近いということもあり、Apache Arrowのユーザーを増やすキッカケになるように企画しました。

発表内容を次のような内容にしたのはユーザーを増やすことを目指したためです。

  • Apache Arrowをまだ知らなかった人でもわかる内容
  • Apache Arrowの最新情報を紹介する内容
  • すでにApache Arrowを活用しているプロダクトを紹介する内容
  • 実際にApache Arrowを使ってみた事例を紹介する内容

参加した方はApache Arrowを使ってみたくなったでしょうか?参加できなかった方は以下に資料が公開されているので参考にして使い始めてみてください。

このような情報を提供する場にすることでApache Arrowを使い始める最初の敷居を下げることを狙いました。

さらに、もっと敷居を下げる施策として次の2つを実施しました。

  • 懇親会で詳しい人に相談するように促す
  • クリアコードも含めてPoCから始める案を提示する

クリアコードはApache Arrow関連の技術的詳細に詳しいです。まずはPoCから始めたいという方を支援できるのではないかという考えからこの案を提示しました。今回のイベントに参加していない方からのPoC支援も受け付けていますので、興味のある方はお問い合わせください。

まとめ

Apache Arrow 1.0.0のリリースが近づいてきたのでApache Arrowユーザーを増やすためにApache Arrow東京ミートアップ2019を開催しました。イベント開催を全面的に支援してくれたSpeeeさん、発表してくれたみなさん、参加者のみなさんには今回も大変お世話になりました。またお世話になると思うのでそのときもまたよろしくおねがいします!

2019-12-11

Apache Arrow東京ミートアップ2019 参加レポート

Apache Arrow 1.0.0の正式リリースを間近に控えた先週12月11日に、第二回目となるApache Arrow東京ミートアップが開催されました。
今回の会場は株式会社Speeeの六本木オフィスをご提供いただきました。O'Reilly本が並んだ書棚を背景に、シックな木目の家具で統一された会場で、とても素敵な会場でした。

Apache Arrow Tokyo Meetup 2019

ミートアップの内容としては、まずプログラムの冒頭で弊社の須藤から簡単なガイダンスがあった後、7人の講演者による発表がありました。
本記事の作者(藤本)の聴講メモより、各発表の要点をまとめます(箇条書き外は藤本の感想です)。

Apache Arrowの最新情報 (株式会社クリアコード/須藤)

スライド資料リンク (Rabbit)

  • Apache Arrowとは多言語に対応したオンメモリのデータ形式(とそれに関連する一連のデータ処理ライブラリ)である。
  • 列指向の考え方を採用していて、できるだけコンピューターがそのまま扱えるような形式で作られている。
  • 用途としては、プロセス・ホスト間のデータの受け渡しに使われている。シリアライズとパースの手間が減るので、相当効率化できる(具体的には、後の山室さんの発表を参照のこと)。
  • 技術提供できるので、使ってみたい企業の方はお問い合わせください。
Apache Arrow Datasets C++ (株式会社Speee/村田さん)

スライド資料リンク (Speaker Deck)

  • Datasetsとは、様々な場所にあるファイルデータ(ローカルディスクやAmazon S3など)を読み出して、Apache ArrowのTableオブジェクトに統合してくれるレイヤ。
  • パスによって階層的にデータを保存する設計になっている。これで一部のデータのみを読み出したいという要望にも応えられる。
  • 現時点でファイル形式はApache Parquetのみ対応しているが、今後CSVやJSONなどの各種形式の対応が計画されている。
  • これを基盤として、SQLライクなクエリを実行するクエリエンジンや、集計処理を実行するデータフレームが作られていく予定。

Apache Arrowプロジェクトが単なるデータ形式にとどまらず、ストレージや計算実行まで拡大しつつある状況がよく分かる報告でした。また「まだ全体的に議論が進んでいる段階で、実装の手が届いていないところも多いので、積極的に開発に関与すると喜ばれるかもしれない」とのことでした。

RとApache Arrow (湯谷さん)

スライド資料リンク (Speaker Deck)

  • RとApache Arrowの統合が格段に進みつつあるという報告。
  • 一つの進展として、Apache Sparkのライブラリ sparklyr にApache Arrow対応が入った。これでApache Sparkとの間でApache Arrowで直接やりとりできるようになった。
  • また、Apache Parquetの読み書きもできるようになった。Pythonなどの他の言語との連携が期待できる。
  • その他にも、CRANで手軽にインストールできるようになった等の進展がある。
PostgreSQLとApache Arrowの利用事例 (ヘテロDB株式会社/海外さん)

スライド資料リンク (SlideShare)

  • PostgreSQLのForeign Data WrapperでApache Arrow形式のデータを扱えるようにしたという報告。
  • 列指向なので、参照されているデータのみを読み出せるなどの良い特性がある。GPUメモリバスの特性から、演算実行も高速。
  • 自社製品のPG-Stormと組み合わせることで、シングルノードで10億レコード/秒程度の性能を出せることが実証できた。
Apache SparkとApache Arrowの連携 (NTT/山室さん)

スライド資料リンク (SlideShare)

  • Apache SparkでApache Arrowを活用できる箇所は大きく二つある。1つはプログラムからクラスタにデータを投入する箇所、もう1つはクラスタの内部でデータを受け渡している箇所。
  • 1つ目のユーザーとのやりとりは@pandas_udfというデコレータを使うだけでApache Arrow形式を使えるようになっている。ベンチマークの結果から、これでかなり高速化できることが分かっている。
  • 2つ目のクラスタ内部でのデータのやりとりは、設定で有効化できるようになっている。一部の型が未対応なのでデフォルトではオフになっている。
  • 未対応の型などの問題も、今後のバージョンで解消されていく予定。

なぜApache Arrowが開発されたのかとても納得がいく発表でした。要するに、並列計算のパラダイムのシステムでは、設計上、計算を実行するノード間で膨大なデータのコピーが発生する。このため、パースの手間を可能な限り省いたApache Arrowのようなデータ形式を採用することで、飛躍的な速度の向上が見込めるのです。

TensorFlowとApache Arrowの連携 (日本アイ・ビー・エム株式会社/石崎さん)
  • 同僚であるIBM Spark Technology Centerのブライアンさんの代理報告とのことでした。
  • Tensorflow I/Oというデータ入出力をサポートするライブラリがあり、この中でApache Arrowもサポートされている。
  • Apache Arrowの中に高速なCSVの読み出し実装もあるので、この点でも効率化をはかることができる。
  • 具体的なベンチマークはもう少しブラッシュアップしてから公表したい、とのことでした。
TensorFlowとBigQuery Storage APIとApache Arrowの連携評価事例 (SENSY株式会社/漆山さん)

スライド資料リンク (Google Docs)

  • 「感性を学習する」をテーマに、数百GBから数TBのデータの購買データを分析されているとのことでした。
  • データの保存にBigQueryを使っていたが、このStorage APIにApache Arrow対応が入ったので、これを利用されているとのこと。
  • ベンチマークをとってみると、Apache Arrowを使うことで、データ取得に要する時間はもちろん、その後の学習も高速化されたとのことでした。

まとめ

ここで講演は終了して、残りの時間ではSpeeeさんにご提供いただいた夕食を食べながらの懇親会がありました。立食形式で興味のある講演者の方と直接お話することができるようになっていて、それぞれのテーブルでは活発に議論が交わされていました。

以上でApache Arrow東京ミートアップ2019 は終了しました。3時間という枠で様々な側面からの発表が聞けた充実した会だったと思います。会場を提供頂いた株式会社Speeeさんをはじめとする関係者および講演者のみなさまには改めてお礼申し上げます。ありがとうございました。

2019-12-16

«前月 最新記事 翌月»
タグ:
年・日ごとに見る
2008|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|