Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Red Data Tools で切り開く Ruby の未来
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Kenta Murata
February 25, 2023
Technology
1.4k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Red Data Tools で切り開く Ruby の未来
Ruby 30周年記念イベント LT
Kenta Murata
February 25, 2023
More Decks by Kenta Murata
See All by Kenta Murata
waitany と waitall を作った話
mrkn
0
360
HolidayJp.jl を作りました
mrkn
0
400
Calling Julia functions from Streamlit applications
mrkn
1
650
Method-based JIT compilation by transpiling to Julia
mrkn
0
9.3k
Apache Arrow C++ Datasets
mrkn
4
1.9k
Reducing ActiveRecord memory consumption using Apache Arrow
mrkn
0
2k
RubyData and Rails
mrkn
0
3.5k
Tensor and Arrow
mrkn
0
1.1k
RubyData Current and Future
mrkn
1
3.8k
Other Decks in Technology
See All in Technology
M5Stackで作る BLEマウス GPSログの世界
tomokusaba
PRO
0
440
フロントエンドカンファレンス関西2026 - 速すぎるUIに、待ち時間を
teamlab
PRO
0
200
FinOps Agentが生んだ技術負債:コスト自動調査の落とし穴と解消までの道のり
oasis1994liveforever
2
160
古い指輪から広がった JAVA コミュニティ とのつながり
yamad
0
130
サブエージェントと Claude Mods で作る独自 Advisor ツールの話
kenichiodo
2
170
AI コーディングと人間の認知スループット / CTO Night & Day 2026 Morning Session / AI Coding and Human Cognitive Throughput
prog893
5
1.3k
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.3k
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
1つのリクエストを追って理解する - llm-dのP/D分離
akhino
1
170
Railsで挑む大量データ永続化 〜600億件を永続化するための設計とボトルネックとの戦い〜
occhi
1
890
S3 Filesで挑む! 八戸せんべい汁の食べ頃問題
usanchuu
0
120
CTO Night|NotionのAIエージェントとFDE
kzkhykw1991
0
260
Featured
See All Featured
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
330
4 Signs Your Business is Dying
shpigford
187
23k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Paper Plane (Part 1)
katiecoart
PRO
2
12k
StorybookのUI Testing Handbookを読んだ
zakiyama
31
7k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
330
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Abbi's Birthday
coloredviolet
4
10k
State of Search Keynote: SEO is Dead Long Live SEO
ryanjones
0
320
Odyssey Design
rkendrick25
PRO
2
880
sira's awesome portfolio website redesign presentation
elsirapls
0
460
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
Transcript
Red Data Tools で切り開く Ruby の未来 Kenta Murata 2023.02.25 Ruby
30周年記念イベント LT
Ruby 30 周年おめでとうございます
self.introduction Kenta Murata 株式会社サイカ CRO Apache Arrow と CRuby のコミッター
Red Data Tools メンバー
self.introduction Kenta Murata 株式会社サイカ CRO Apache Arrow と CRuby のコミッター
Red Data Tools メンバー ← 今日はこの立場
Contents 1. Red Data Tools 2. Ruby 用データフレームライブラリ 3. まとめ
Red Data Tools https://red-data-tools.github.io/ja/
Red Data Tools とは Ruby用のデータ処理ツールを開発するプロジェクト いま Ruby 界隈で一番ホットな、データ処理ツールの開発者集団 とてもよいポリシーを掲げている
Red Data Tools プロジェクトのポリシー 1. Rubyコミュニティーを超えて協力する 2. 非難することよりも手を動かすことが大事 3. 一回だけの活発な活動よりも小さくてもいいので継続的に活動することが大事
4. 現時点での知識不足は問題ではない 5. 部外者からの非難は気にしない 6. 楽しくやろう!
詳しくは
Red Data Tools の主なプロダクト Red Arrow ファミリー Apache Arrow の
Ruby バインディング (apache/arrow 内にある) Red Datasets オープンデータにアクセスするための統一インターフェイス Charty 複数のバックエンドをサポートする統計的可視化ライブラリ unicode_plot ターミナルでデータ可視化を行うライブラリ YouPlot ターミナルでデータ可視化を行う CLI ツール (unicode_plot を使用)
詳しくは
Ruby 用のデータフレームライブラリについて
データフレーム? データフレームは表の形のデータ構造 トランザクション処理ではなく分析処理を主な用途とする 表を行指向ではなく列指向で管理
行指向?列指向?
行指向?列指向?
データフレーム? データフレームは表の形のデータ構造 トランザクション処理ではなく分析処理を主な用途とする 表を行単位ではなく列単位で管理 選択、結合、集約などの操作、要素単位の演算 複数のデータフレームを扱う操作と演算
Ruby 用データフレームライブラリ Red Amber Polas Ruby pandas Daru
Red Amber https://github.com/heronshoes/red_amber Red Arrow をバックエンドとしてデータフレームを実装 メモリ上のデータ構造は Arrow 形式 Apache
Arrow C++ の機能を利用できる Ruby にとって自然なインターフェイスを目指している heronshoes さんがモリモリと開発している これも Red Data Tools プロダクトのひとつ
Polars Ruby https://github.com/ankane/polars-ruby Polars という Rust 用データフレームライブラリのバインディング Polars は Rust
版 Apache Arrow を使っててめっちゃ速い (blazingly fast)
Polars の速さ 凄く速いので pandas から polars に乗り換える Kaggler が続出している
Polars Ruby https://github.com/ankane/polars-ruby Polars という Rust 用データフレームライブラリのバインディング Polars は Rust
版 Apache Arrow 使っててめっちゃ速い (blazingly fast) Red Amber と同様にメモリ上のデータ構造は Arrow 形式 Polars の Python 版 API に従って実装されている ankane さんがモリモリと開発している
pandas https://github.com/mrkn/pandas.rb Python 用データフレームである pandas を Ruby から使える pycall を用いて
CPython を直接呼び出す形で実装している pycall のおかげで df.applymap(->(x){ x * 5 }) のような事も可能 pandas の全機能について網羅テストをしてないため、未対応の機能があるかも pycall の制限を引き継ぐので、メインスレッド以外では使えないなどの制限がある
daru https://github.com/SciRuby/daru おそらく最古の Ruby 用データフレームライブラリ Pure Ruby で実装されている!! 遅いけど、Ruby さえあれば動く利点もある
残念ながら最近はまったくメンテされていない
25周年のとき (5年前) にあったもの pandas Daru 30周年目で増えたもの Red Amber Polars Ruby
5年で2つも増えた!! Red Amber は Rubyist が使いやすいデータフレームのインターフェイスを目指している Polars Ruby は最速データフレームの Ruby
バインディング どちらも Apache Arrow という共通基盤の上に乗っている どちらも活発に開発が進んでいる
この波に乗るしかない!! Rubyist にとって使いやすいデータフレームを作れるのは Red Amber の良いところ Red Data Tools に参加して一緒に
Red Amber を盛り上げませんか? 最速を求めて Polars Ruby を弄るのも良いと思う (Charty 対応とか!) Daru をメンテする人も増えてほしい
まとめ: Red Data Tools に参加しよう