Apache Arrow¶ ↑
: author
須藤功平
: institution
クリアコード
: content-source
データ分析用次世代データフォーマットApache Arrow勉強会
: date
2017-05-28
: allotted-time
60m
: theme
clear-code
ハッシュタグ¶ ↑
(('#osaka_arrow'))n (('note:今日はいろんなURLを参照するのでそれらを共有したい'))
流れ¶ ↑
(1) Apache Arrowの概要を知る (2) Apache Arrowの詳細を知る (3) Apache Arrow関連の開発に\n 参加する方法を知る
概要¶ ↑
DataScience.rbワークショップn の資料で紹介
* RubyもApache Arrowで\n データ処理言語の仲間入り\n (('tag:small:https://slide.rabbit-shocker.org/authors/kou/data-science-rb/'))
詳細¶ ↑
* 最新情報はWes McKinneyさんのスライドを見るのがよい * https://www.slideshare.net/wesm/ * 例: * (('tag:xx-small')) https://www.slideshare.net/wesm/memory-interoperability-in-analytics-and-machine-learning * (('tag:xx-small')) https://www.slideshare.net/wesm/nextgeneration-python-big-data-tools-powered-by-apache-arrow
紹介¶ ↑
* (('tag:xx-small:https://www.slideshare.net/MapR_Japan/apache-arrow-value-vectors-tokyo-apache-drill-meetup-20160322')) * (('tag:xx-small:https://www.slideshare.net/wesm/nextgeneration-python-big-data-tools-powered-by-apache-arrow')) * (('tag:xx-small:https://www.slideshare.net/wesm/memory-interoperability-in-analytics-and-machine-learning'))
開発に参加¶ ↑
* Apache Arrowの旨味がでる状態 * みんながApache Arrowを使う * 早く↑の状態にするには * Apache Arrow関連の開発に参加!\n (('note:待っていることもできるけど一緒にやろうよ!'))
Apache Arrowの開発に参加¶ ↑
* JIRA:(('tag:xx-small:https://issues.apache.org/jira/browse/ARROW/')) * コミットはすべてチケットに紐づく * こういうのやりたいねー!も\n チケットになる * メーリングリスト:(('tag:xx-small:dev@arrow.apache.org'))\n (('note:dev-subscribe@arrow.apache.orgにメールを送ればOK')) * 基本的にここでディスカッション * JIRAの新規チケットも流れる
Apache Arrowの開発に参加¶ ↑
* バグレポート * JIRAにチケット作成 * バグ修正・機能追加 * JIRAにチケット作成→GitHubでPR\n (('note:Pull Requestタイトルにルールあり(後述)')) * 相談 * メーリングリスト
PRのタイトル¶ ↑
フォーマット: ARROW-XXX: [YYY] ... 例: ARROW-897: [GLib] Extract ... ARROW-XXX: JIRAのissue ID [YYY]: モジュール名
モジュール¶ ↑
* Java: Java実装 * C++: C++実装 * GLib: C++実装のCラッパー\n (('note:(各種言語バインディング向け)')) * GLibを使用 * JS: JavaScript実装 * TypeScriptを使用
WANTED: モジュール¶ ↑
(('tag:center')) ↓は未着手なはずなのでn ここから開発に参加もあり
* R: C++実装のR(('note:cpp'))ラッパー * Go: Go実装 * すでにGLib経由で使えるけど\n ネイティブ実装の方がいいかも? * Rust: Rust実装
Apache Arrow関連の開発¶ ↑
* 大量のデータ交換が必要な\n プロダクトをArrowに対応させる * 例:Apache Spark\n (('note:(PySparkはすでに進んでいる:SPARK-13534)')) * 参考:対応済みプロダクト * Groonga: http://groonga.org/ * Ray: (('tag:x-small:https://github.com/ray-project/ray'))
Red Data Tools¶ ↑
(('tag:center')) (('tag:small')) red-data-tools.github.io/
* Ruby用データ分析ツールを\n 揃えよう!プロジェクト * Apache Arrowベース * ただし!できるだけRuby以外でも使えるようにしたい!
Ruby以外でも使える?¶ ↑
* GLibバインディングとして開発\n (('note:(Ruby専用バインディングとして開発しない)')) * Luaとかでも使えるようになる * 例:parquet-glib\n (('tag:xx-small:https://github.com/red-data-tools/parquet-glib')) * 例:xtensor-glib\n (('tag:xx-small:https://github.com/red-data-tools/xtensor-glib'))
Ruby以外でも使える?¶ ↑
* データも似たような感じで * どうすればいろんな言語から\n 使いやすくなるかは要検討
開発に参加しよう!¶ ↑
* Apache Arrow * dev@arrow.apache.org * Red Data Tools * https://gitter.im/red-data-tools * Arrowが嬉しそうなプロダクト