#ArrowTokyo必要に応じてイベント企画もがんばる須藤です。Arrow東京ミートアップ2019を開催しました。Arrow東京ミートアップ2018に引き続き2回目の開催です。1.0.0がリリースされようとしています。2020年2月くらいにリリースされるのではないかと思います。Arrowユーザーを増やすことを目指して企画しました。Arrowが実現しようとしていることを紹介しました。技術的な詳細にはあまり立ち入らず、要点を理解してもらえるといいなという感じでまとめたつもりです。Arrowについてを知るために最初にざっと確認する資料として活用できるものになっているといいな。Arrowのユーザーを増やすキッカケになるように企画しました。発表内容を次のような内容にしたのはユーザーを増やすことを目指したためです。Arrowを使ってみたくなったでしょうか?参加できなかった方は以下に資料が公開されているので参考にして使い始めてみてください。Arrowを使い始める最初の敷居を下げることを狙いました。敷居を下げる施策として次の2つを実施しました。Arrow関連の技術的詳細に詳しいです。PoCから始めたいという方を支援できるのではないかという考えからこの案を提示しました。今回のイベントに参加していない方からのPoC支援も受け付けていますので、興味のある方はお問い合わせください。Arrow東京ミートアップ2019を開催しました。イベント開催を全面的に支援してくれたSpeeeさん、発表してくれたみなさん、参加者のみなさんには今回も大変お世話になりました。Arrow東京ミートアップが開催されました。今回の会場は株式会社Speeeの六本木オフィスをご提供いただきました。O'Reilly本が並んだ書棚を背景に、シックな木目の家具で統一された会場で、とても素敵な会場でした。ミートアップの内容としては、まずプログラムの冒頭で弊社の須藤から簡単なガイダンスがあった後、7人の講演者による発表がありました。本記事の作者(藤本)の聴講メモより、各発表の要点をまとめます(箇条書き外は藤本の感想です)。Arrowとは多言語に対応したオンメモリのデータ形式(とそれに関連する一連のデータ処理ライブラリ)である。列指向の考え方を採用していて、できるだけコンピューターがそのまま扱えるような形式で作られている。用途としては、プロセス・ホスト間のデータの受け渡しに使われている。シリアライズとパースの手間が減るので、相当効率化できる(具体的には、後の山室さんの発表を参照のこと)。技術提供できるので、使ってみたい企業の方はお問い合わせください。ArrowのTableオブジェクトに統合してくれるレイヤ。パスによって階層的にデータを保存する設計になっている。これで一部のデータのみを読み出したいという要望にも応えられる。Parquetのみ対応しているが、今後CSVやJSONなどの各種形式の対応が計画されている。これを基盤として、SQLライクなクエリを実行するクエリエンジンや、集計処理を実行するデータフレームが作られていく予定。Arrowプロジェクトが単なるデータ形式にとどまらず、ストレージや計算実行まで拡大しつつある状況がよく分かる報告でした。「まだ全体的に議論が進んでいる段階で、実装の手が届いていないところも多いので、積極的に開発に関与すると喜ばれるかもしれない」とのことでした。Arrowの統合が格段に進みつつあるという報告。Arrow対応が入った。Arrowで直接やりとりできるようになった。Parquetの読み書きもできるようになった。Pythonなどの他の言語との連携が期待できる。その他にも、CRANで手軽にインストールできるようになった等の進展がある。Arrow形式のデータを扱えるようにしたという報告。列指向なので、参照されているデータのみを読み出せるなどの良い特性がある。GPUメモリバスの特性から、演算実行も高速。自社製品のPG-Stormと組み合わせることで、シングルノードで10億レコード/秒程度の性能を出せることが実証できた。Arrowを活用できる箇所は大きく二つある。1つはプログラムからクラスタにデータを投入する箇所、もう1つはクラスタの内部でデータを受け渡している箇所。Arrow形式を使えるようになっている。ベンチマークの結果から、これでかなり高速化できることが分かっている。2つ目のクラスタ内部でのデータのやりとりは、設定で有効化できるようになっている。一部の型が未対応なのでデフォルトではオフになっている。未対応の型などの問題も、今後のバージョンで解消されていく予定。Arrowが開発されたのかとても納得がいく発表でした。要するに、並列計算のパラダイムのシステムでは、設計上、計算を実行するノード間で膨大なデータのコピーが発生する。Arrowのようなデータ形式を採用することで、飛躍的な速度の向上が見込めるのです。Centerのブライアンさんの代理報告とのことでした。Arrowもサポートされている。Arrowの中に高速なCSVの読み出し実装もあるので、この点でも効率化をはかることができる。具体的なベンチマークはもう少しブラッシュアップしてから公表したい、とのことでした。Docs)「感性を学習する」をテーマに、数百GBから数TBのデータの購買データを分析されているとのことでした。Arrow対応が入ったので、これを利用されているとのこと。Arrowを使うことで、データ取得に要する時間はもちろん、その後の学習も高速化されたとのことでした。まとめここで講演は終了して、残りの時間ではSpeeeさんにご提供いただいた夕食を食べながらの懇親会がありました。立食形式で興味のある講演者の方と直接お話することができるようになっていて、それぞれのテーブルでは活発に議論が交わされていました。3時間という枠で様々な側面からの発表が聞けた充実した会だったと思います。会場を提供頂いた株式会社Speeeさんをはじめとする関係者および講演者のみなさまには改めてお礼申し上げます。ありがとうございました。4.0とGFDLのデュアルライセンスで自由に利用できます。クリアコードはプログラミングが楽しいソフトウェア開発者を1名募集しています。クリアコードは「クリアコードをいい感じにする人」を1名募集しています。クリアコードはフリーソフトウェア開発で培った技術力を提供しています。Thunderbird)とRubyとGroonga(全文検索)に関連した開発を得意としています。