SlideShare a Scribd company logo
1 of 29
© LINE Data Labs
Pyparkを分析用途に使っている話
LINE株式会社 DataLabs
丸尾大貴
© LINE Data Labs
話すこと/話さないこと
話さないこと
🙅PySpark/Sparkの中身のはなし(正直全くわからない)
🙅高度な分析
話すこと
🙆PySparkが日常の統計分析業務をカバーできること
© LINE Data Labs
分析とその活用のプロセス
現状把握 仮説の立案 データ分析
施策の
策定・実行
効果測定
© LINE Data Labs
例題:架空のサブスクリプションサービスの分析
・2週間単位で契約するものとする
・プランは一つしかなくて定額制=ARPPUは不変とする
・以下のテーブルが登場
© LINE Data Labs
現状把握:KPIツリーの作成
Subscriber
# of New user
Conversion
rate
Subscriber× × Retention rate
Revenue
ARPPU×
© LINE Data Labs
現状把握:可視化の例
ある日のsubscriberの数を計算する簡単なクエリ
SQLで工夫できる?かもしれないが、
普通にやるならデイリーバッチ回したい
© LINE Data Labs
現状把握:可視化の例
© LINE Data Labs
仮説の立案:KPI向上のための仮説立案
hypo Zhypo Yhypo A ……
Subscriber
# of New user
Conversion
rate
# of Continue
user× ×
Revenue
ARPPU
Retention rate
© LINE Data Labs
データ分析:データマートの作成
user_no is_ret feature1 … feature200
200 1 200 … A
664 0 40 … C
© LINE Data Labs
データ分析:データマートの作成
© LINE Data Labs
データ分析:データマートの作成
・pysparkで同様の判定をすることもできる
ただし、lead/when/isnull/otherwiseの組み合わせで、結構しんどい
・しかも、joinと順番を入れ替えるとバグる(あたりまえだがハマる)
・SQLのほうが総合的には楽な場合もある(コードは短い?)
© LINE Data Labs
データ分析:データマートの作成
・さっきと同じ集計もできる
© LINE Data Labs
データ分析:データマートの作成
・for文で回せそうな処理がある場合はpysparkが便利
SQLベタ書きするとメンテ性がすこぶる悪化する場面を避けられる
© LINE Data Labs
データ分析:モデルの訓練
user_no is_ret feature1 … feature200
200 1 200 … A
664 0 40 … C
© LINE Data Labs
データ分析:モデルの訓練
・scikitともうほとんど変わらないレベルでお手軽にかける
ただ、特定の形式しか受け付けないなどでけっこうハマる
ハマったらまず前処理のAPIを見ることを推奨(ml.feature)
© LINE Data Labs
データ分析:モデルのcross validation
・cv用のモジュールも充実。CrossValidatorに3つ渡すだけ、シンプル。
© LINE Data Labs
データ分析:重要な特徴量の検証
・よくある重要度plotもお茶の子さいさい
sum(action)
© LINE Data Labs
効果測定:A/Bテストの集計
© LINE Data Labs
効果測定:比率の差の検定
・Pandasで受けてstatsmodelsにわたして検定もできる
© LINE Data Labs
Tips1:SQLで書けるのでレビューが楽
python派
R派
tableau派
・SQLが実質的にチームの共通言語となっている
🙅pandas
🙆dplyr
👩SQL
🙆pandas
🙅dplyr
👩SQL
🙅pandas
🙅dplyr
🙆SQL
© LINE Data Labs
Tips2:df.cache()を使ってgroupbyしまくろう
・分析用のテーブルを作ってからキャッシュする
・その後様々な切り口でorder_all.groupby()することができる
・探索的分析の速度・確度が上がる
© LINE Data Labs
Tips3:RDD/udfはやめよう
ド
ラ
イ
バ
ー
ド
ラ
イ
バ
ー
DataFrame API RDD/Python UDF
エグゼキューター
・UDFを書いちゃうとjavaとpythonインタプリタの間でデータのやり取り
が起きて性能劣化。改善の取り組みもあるが、改善されるまではオススメ
しない。(世の中のUDF書きまくりのspark本をそのままpythonにしては🙅)
© LINE Data Labs
Tips4:cross validation周辺が賢くなるぞ
・現状Cross Validatorが賢くない
パラメータとデータセットに対して直列にtrainしていく
(つまりパラメータの組み合わせ数×CVの分割数だけ直列に時間がかかる)
Model1-param1
Model3-param1
Model2-param1
Model4-param1
Model1-param2
Model3-param2
Model2-param2
Model4-param2
Train1
Train2
Train3
Train4
© LINE Data Labs
Tips4:cross validation周辺が賢くなるぞ
・2.2.0
・2.3.0では引数一つでパラメータに対してはパラレルに!(最高 🙏)
© LINE Data Labs
他のツールとのpros/cons
pyspark R+sparklyr Hive/Tez/presto
集計 最高 最高という人もいる 最高
© LINE Data Labs
他のツールとのpros/cons
pyspark R+sparklyr Hive/Tez/presto
集計 最高 最高という人もいる 最高
特徴量/
データ
マート
最高に自由度高い 最高という人もいる 大量に特徴量つくりたい
ときは不向き
© LINE Data Labs
他のツールとのpros/cons
pyspark R+sparklyr Hive/Tez/presto
集計 最高 最高という人もいる 最高
特徴量/
データ
マート
最高に自由度高い 最高という人もいる 大量に特徴量つくりたい
ときは不向き
分析用の
機械学習
最高にお手軽 sparklyR使ったことない
のでわからない
🙅バッドノウハウ
※決してSQLで協調フィルタなどを実装することを批判するものではあり
ません
© LINE Data Labs
おわりに
 PySpark -> なんでもできて最高
© LINE Data Labs
おわりに
 PySpark -> なんでもできて最高
PySparkで大規模データをゴリゴリ分析して
事業に貢献したいあなたはLINEへ!!

More Related Content

What's hot

異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j昌桓 李
 
クラスタリングとレコメンデーション資料
クラスタリングとレコメンデーション資料クラスタリングとレコメンデーション資料
クラスタリングとレコメンデーション資料洋資 堅田
 
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)NTT DATA Technology & Innovation
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredisnasa9084
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)mosa siru
 
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法Takeshi Mikami
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門Masaya Dake
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...NTT DATA Technology & Innovation
 
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニアakira6592
 
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みデータテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みYahoo!デベロッパーネットワーク
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームKouhei Sutou
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜Preferred Networks
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)NTT DATA OSS Professional Services
 
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 

What's hot (20)

異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j異次元のグラフデータベースNeo4j
異次元のグラフデータベースNeo4j
 
クラスタリングとレコメンデーション資料
クラスタリングとレコメンデーション資料クラスタリングとレコメンデーション資料
クラスタリングとレコメンデーション資料
 
NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦NTT DATA と PostgreSQL が挑んだ総力戦
NTT DATA と PostgreSQL が挑んだ総力戦
 
Docker Compose 徹底解説
Docker Compose 徹底解説Docker Compose 徹底解説
Docker Compose 徹底解説
 
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
 
Vacuum徹底解説
Vacuum徹底解説Vacuum徹底解説
Vacuum徹底解説
 
webエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのrediswebエンジニアのためのはじめてのredis
webエンジニアのためのはじめてのredis
 
開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)開発速度が速い #とは(LayerX社内資料)
開発速度が速い #とは(LayerX社内資料)
 
レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法レコメンドアルゴリズムの基本と周辺知識と実装方法
レコメンドアルゴリズムの基本と周辺知識と実装方法
 
グラフデータベース入門
グラフデータベース入門グラフデータベース入門
グラフデータベース入門
 
各種データベースの特徴とパフォーマンス比較
各種データベースの特徴とパフォーマンス比較各種データベースの特徴とパフォーマンス比較
各種データベースの特徴とパフォーマンス比較
 
MLOpsはバズワード
MLOpsはバズワードMLOpsはバズワード
MLOpsはバズワード
 
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
大規模データ処理の定番OSS Hadoop / Spark 最新動向 - 2021秋 -(db tech showcase 2021 / ONLINE 発...
 
新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア新人研修資料 向き合うエンジニア
新人研修資料 向き合うエンジニア
 
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試みデータテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
データテクノロジースペシャル:Yahoo! JAPANにおけるメタデータ管理の試み
 
Apache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォームApache Arrow - データ処理ツールの次世代プラットフォーム
Apache Arrow - データ処理ツールの次世代プラットフォーム
 
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
PFN のオンプレML基盤の取り組み / オンプレML基盤 on Kubernetes 〜PFN、ヤフー〜
 
BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装BlackBox モデルの説明性・解釈性技術の実装
BlackBox モデルの説明性・解釈性技術の実装
 
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
 
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
pg_bigmで全文検索するときに気を付けたい5つのポイント(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
 

Similar to PySpark を分析用途に使っている話

ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!Nagato Kasaki
 
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例オラクルエンジニア通信
 
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介Satoshi Kitajima
 
Splunk 7.0の概要及び新機能
Splunk 7.0の概要及び新機能Splunk 7.0の概要及び新機能
Splunk 7.0の概要及び新機能Kunihiko Ikeyama
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネスMie Mori
 
IMJG Seminar 「収益に結びつく顧客を見つけるNPSセミナー」
IMJG Seminar 「収益に結びつく顧客を見つけるNPSセミナー」IMJG Seminar 「収益に結びつく顧客を見つけるNPSセミナー」
IMJG Seminar 「収益に結びつく顧客を見つけるNPSセミナー」IMJ Corporation
 
Pysparkで始めるデータ分析
Pysparkで始めるデータ分析Pysparkで始めるデータ分析
Pysparkで始めるデータ分析Tanaka Yuichi
 
RSpecの実行速度を3.5倍にした話
RSpecの実行速度を3.5倍にした話RSpecの実行速度を3.5倍にした話
RSpecの実行速度を3.5倍にした話Naomichi Yamakita
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題Kenta Oono
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)hamaken
 
Pentaho+mongo db勉強会20150416
Pentaho+mongo db勉強会20150416Pentaho+mongo db勉強会20150416
Pentaho+mongo db勉強会20150416Yoshiteru Morimoto
 
データファースト開発
データファースト開発データファースト開発
データファースト開発Katsunori Kanda
 
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Masahiro Kiura
 
データ分析を支える技術 データ分析基盤再入門
データ分析を支える技術 データ分析基盤再入門データ分析を支える技術 データ分析基盤再入門
データ分析を支える技術 データ分析基盤再入門Satoru Ishikawa
 
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~Recruit Lifestyle Co., Ltd.
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-LINE Corp.
 
07232012需要予測モデル0.3 5
07232012需要予測モデル0.3 507232012需要予測モデル0.3 5
07232012需要予測モデル0.3 5Izumi Akiyama
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Tatsuya Atsumi
 
SAP Inside Track Tokyo 2019 Data Intelligence の展望とMLプロジェクト事例
SAP Inside Track Tokyo 2019 Data Intelligence の展望とMLプロジェクト事例SAP Inside Track Tokyo 2019 Data Intelligence の展望とMLプロジェクト事例
SAP Inside Track Tokyo 2019 Data Intelligence の展望とMLプロジェクト事例Yasuko Sekiguchi
 

Similar to PySpark を分析用途に使っている話 (20)

ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!ゼロから始めるSparkSQL徹底活用!
ゼロから始めるSparkSQL徹底活用!
 
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
Oracle Data Minerハンズオンセミナー170927:③Business Analytics概要と事例
 
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
オープンソースのデータ分析ソフト3製品「RapidMiner」「NYSOL」「Revolution R Enterprise (RRE) ※Rの商用版」のご紹介
 
Hadoopカンファレンス2013
Hadoopカンファレンス2013Hadoopカンファレンス2013
Hadoopカンファレンス2013
 
Splunk 7.0の概要及び新機能
Splunk 7.0の概要及び新機能Splunk 7.0の概要及び新機能
Splunk 7.0の概要及び新機能
 
Big data解析ビジネス
Big data解析ビジネスBig data解析ビジネス
Big data解析ビジネス
 
IMJG Seminar 「収益に結びつく顧客を見つけるNPSセミナー」
IMJG Seminar 「収益に結びつく顧客を見つけるNPSセミナー」IMJG Seminar 「収益に結びつく顧客を見つけるNPSセミナー」
IMJG Seminar 「収益に結びつく顧客を見つけるNPSセミナー」
 
Pysparkで始めるデータ分析
Pysparkで始めるデータ分析Pysparkで始めるデータ分析
Pysparkで始めるデータ分析
 
RSpecの実行速度を3.5倍にした話
RSpecの実行速度を3.5倍にした話RSpecの実行速度を3.5倍にした話
RSpecの実行速度を3.5倍にした話
 
ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題ディープラーニング最近の発展とビジネス応用への課題
ディープラーニング最近の発展とビジネス応用への課題
 
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)ちょっと理解に自信がないなという皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
ちょっと理解に自信がないな という皆さまに贈るHadoop/Sparkのキホン (IBM Datapalooza Tokyo 2016講演資料)
 
Pentaho+mongo db勉強会20150416
Pentaho+mongo db勉強会20150416Pentaho+mongo db勉強会20150416
Pentaho+mongo db勉強会20150416
 
データファースト開発
データファースト開発データファースト開発
データファースト開発
 
Hueによる分析業務の改善事例
Hueによる分析業務の改善事例Hueによる分析業務の改善事例
Hueによる分析業務の改善事例
 
データ分析を支える技術 データ分析基盤再入門
データ分析を支える技術 データ分析基盤再入門データ分析を支える技術 データ分析基盤再入門
データ分析を支える技術 データ分析基盤再入門
 
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
大規模サービスにおける価値開発の“これまで”と“将来”~新たな“じゃらんnet”のチャレンジに関して~
 
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
15.05.21_ビッグデータ分析基盤Sparkの最新動向とその活用-Spark SUMMIT EAST 2015-
 
07232012需要予測モデル0.3 5
07232012需要予測モデル0.3 507232012需要予測モデル0.3 5
07232012需要予測モデル0.3 5
 
Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016Pythonで入門するApache Spark at PyCon2016
Pythonで入門するApache Spark at PyCon2016
 
SAP Inside Track Tokyo 2019 Data Intelligence の展望とMLプロジェクト事例
SAP Inside Track Tokyo 2019 Data Intelligence の展望とMLプロジェクト事例SAP Inside Track Tokyo 2019 Data Intelligence の展望とMLプロジェクト事例
SAP Inside Track Tokyo 2019 Data Intelligence の展望とMLプロジェクト事例
 

More from LINE Corporation

JJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LTJJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LTLINE Corporation
 
Reduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin CoroutinesReduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin CoroutinesLINE Corporation
 
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみたKotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみたLINE Corporation
 
Use Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extensionUse Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extensionLINE Corporation
 
The Magic of LINE 購物 Testing
The Magic of LINE 購物 TestingThe Magic of LINE 購物 Testing
The Magic of LINE 購物 TestingLINE Corporation
 
UI Automation Test with JUnit5
UI Automation Test with JUnit5UI Automation Test with JUnit5
UI Automation Test with JUnit5LINE Corporation
 
Feature Detection for UI Testing
Feature Detection for UI TestingFeature Detection for UI Testing
Feature Detection for UI TestingLINE Corporation
 
LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE Corporation
 
​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享LINE Corporation
 
LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE Corporation
 
日本開發者大會短講分享
日本開發者大會短講分享日本開發者大會短講分享
日本開發者大會短講分享LINE Corporation
 
LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Corporation
 
在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed KubernetesLINE Corporation
 
LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE Corporation
 
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE Corporation
 
LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Corporation
 
LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Corporation
 
LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Corporation
 
Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發LINE Corporation
 

More from LINE Corporation (20)

JJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LTJJUG CCC 2018 Fall 懇親会LT
JJUG CCC 2018 Fall 懇親会LT
 
Reduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin CoroutinesReduce dependency on Rx with Kotlin Coroutines
Reduce dependency on Rx with Kotlin Coroutines
 
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみたKotlin/NativeでAndroidのNativeメソッドを実装してみた
Kotlin/NativeでAndroidのNativeメソッドを実装してみた
 
Use Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extensionUse Kotlin scripts and Clova SDK to build your Clova extension
Use Kotlin scripts and Clova SDK to build your Clova extension
 
The Magic of LINE 購物 Testing
The Magic of LINE 購物 TestingThe Magic of LINE 購物 Testing
The Magic of LINE 購物 Testing
 
GA Test Automation
GA Test AutomationGA Test Automation
GA Test Automation
 
UI Automation Test with JUnit5
UI Automation Test with JUnit5UI Automation Test with JUnit5
UI Automation Test with JUnit5
 
Feature Detection for UI Testing
Feature Detection for UI TestingFeature Detection for UI Testing
Feature Detection for UI Testing
 
LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享LINE 新星計劃介紹與新創團隊分享
LINE 新星計劃介紹與新創團隊分享
 
​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享​LINE 技術合作夥伴與應用分享
​LINE 技術合作夥伴與應用分享
 
LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣LINE 開發者社群經營與技術推廣
LINE 開發者社群經營與技術推廣
 
日本開發者大會短講分享
日本開發者大會短講分享日本開發者大會短講分享
日本開發者大會短講分享
 
LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享LINE Chatbot - 活動報名報到設計分享
LINE Chatbot - 活動報名報到設計分享
 
在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes在 LINE 私有雲中使用 Managed Kubernetes
在 LINE 私有雲中使用 Managed Kubernetes
 
LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧LINE TODAY高效率的敏捷測試開發技巧
LINE TODAY高效率的敏捷測試開發技巧
 
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
LINE 區塊鏈平台及代幣經濟 - LINK Chain及LINK介紹
 
LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享LINE Things - LINE IoT平台新技術分享
LINE Things - LINE IoT平台新技術分享
 
LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗LINE Pay - 一卡通支付新體驗
LINE Pay - 一卡通支付新體驗
 
LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務LINE Platform API Update - 打造一個更好的Chatbot服務
LINE Platform API Update - 打造一個更好的Chatbot服務
 
Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發Keynote - ​LINE 的技術策略佈局與跨國產品開發
Keynote - ​LINE 的技術策略佈局與跨國產品開發
 

Recently uploaded

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 

Recently uploaded (9)

クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 

PySpark を分析用途に使っている話

  • 1. © LINE Data Labs Pyparkを分析用途に使っている話 LINE株式会社 DataLabs 丸尾大貴
  • 2. © LINE Data Labs 話すこと/話さないこと 話さないこと 🙅PySpark/Sparkの中身のはなし(正直全くわからない) 🙅高度な分析 話すこと 🙆PySparkが日常の統計分析業務をカバーできること
  • 3. © LINE Data Labs 分析とその活用のプロセス 現状把握 仮説の立案 データ分析 施策の 策定・実行 効果測定
  • 4. © LINE Data Labs 例題:架空のサブスクリプションサービスの分析 ・2週間単位で契約するものとする ・プランは一つしかなくて定額制=ARPPUは不変とする ・以下のテーブルが登場
  • 5. © LINE Data Labs 現状把握:KPIツリーの作成 Subscriber # of New user Conversion rate Subscriber× × Retention rate Revenue ARPPU×
  • 6. © LINE Data Labs 現状把握:可視化の例 ある日のsubscriberの数を計算する簡単なクエリ SQLで工夫できる?かもしれないが、 普通にやるならデイリーバッチ回したい
  • 7. © LINE Data Labs 現状把握:可視化の例
  • 8. © LINE Data Labs 仮説の立案:KPI向上のための仮説立案 hypo Zhypo Yhypo A …… Subscriber # of New user Conversion rate # of Continue user× × Revenue ARPPU Retention rate
  • 9. © LINE Data Labs データ分析:データマートの作成 user_no is_ret feature1 … feature200 200 1 200 … A 664 0 40 … C
  • 10. © LINE Data Labs データ分析:データマートの作成
  • 11. © LINE Data Labs データ分析:データマートの作成 ・pysparkで同様の判定をすることもできる ただし、lead/when/isnull/otherwiseの組み合わせで、結構しんどい ・しかも、joinと順番を入れ替えるとバグる(あたりまえだがハマる) ・SQLのほうが総合的には楽な場合もある(コードは短い?)
  • 12. © LINE Data Labs データ分析:データマートの作成 ・さっきと同じ集計もできる
  • 13. © LINE Data Labs データ分析:データマートの作成 ・for文で回せそうな処理がある場合はpysparkが便利 SQLベタ書きするとメンテ性がすこぶる悪化する場面を避けられる
  • 14. © LINE Data Labs データ分析:モデルの訓練 user_no is_ret feature1 … feature200 200 1 200 … A 664 0 40 … C
  • 15. © LINE Data Labs データ分析:モデルの訓練 ・scikitともうほとんど変わらないレベルでお手軽にかける ただ、特定の形式しか受け付けないなどでけっこうハマる ハマったらまず前処理のAPIを見ることを推奨(ml.feature)
  • 16. © LINE Data Labs データ分析:モデルのcross validation ・cv用のモジュールも充実。CrossValidatorに3つ渡すだけ、シンプル。
  • 17. © LINE Data Labs データ分析:重要な特徴量の検証 ・よくある重要度plotもお茶の子さいさい sum(action)
  • 18. © LINE Data Labs 効果測定:A/Bテストの集計
  • 19. © LINE Data Labs 効果測定:比率の差の検定 ・Pandasで受けてstatsmodelsにわたして検定もできる
  • 20. © LINE Data Labs Tips1:SQLで書けるのでレビューが楽 python派 R派 tableau派 ・SQLが実質的にチームの共通言語となっている 🙅pandas 🙆dplyr 👩SQL 🙆pandas 🙅dplyr 👩SQL 🙅pandas 🙅dplyr 🙆SQL
  • 21. © LINE Data Labs Tips2:df.cache()を使ってgroupbyしまくろう ・分析用のテーブルを作ってからキャッシュする ・その後様々な切り口でorder_all.groupby()することができる ・探索的分析の速度・確度が上がる
  • 22. © LINE Data Labs Tips3:RDD/udfはやめよう ド ラ イ バ ー ド ラ イ バ ー DataFrame API RDD/Python UDF エグゼキューター ・UDFを書いちゃうとjavaとpythonインタプリタの間でデータのやり取り が起きて性能劣化。改善の取り組みもあるが、改善されるまではオススメ しない。(世の中のUDF書きまくりのspark本をそのままpythonにしては🙅)
  • 23. © LINE Data Labs Tips4:cross validation周辺が賢くなるぞ ・現状Cross Validatorが賢くない パラメータとデータセットに対して直列にtrainしていく (つまりパラメータの組み合わせ数×CVの分割数だけ直列に時間がかかる) Model1-param1 Model3-param1 Model2-param1 Model4-param1 Model1-param2 Model3-param2 Model2-param2 Model4-param2 Train1 Train2 Train3 Train4
  • 24. © LINE Data Labs Tips4:cross validation周辺が賢くなるぞ ・2.2.0 ・2.3.0では引数一つでパラメータに対してはパラレルに!(最高 🙏)
  • 25. © LINE Data Labs 他のツールとのpros/cons pyspark R+sparklyr Hive/Tez/presto 集計 最高 最高という人もいる 最高
  • 26. © LINE Data Labs 他のツールとのpros/cons pyspark R+sparklyr Hive/Tez/presto 集計 最高 最高という人もいる 最高 特徴量/ データ マート 最高に自由度高い 最高という人もいる 大量に特徴量つくりたい ときは不向き
  • 27. © LINE Data Labs 他のツールとのpros/cons pyspark R+sparklyr Hive/Tez/presto 集計 最高 最高という人もいる 最高 特徴量/ データ マート 最高に自由度高い 最高という人もいる 大量に特徴量つくりたい ときは不向き 分析用の 機械学習 最高にお手軽 sparklyR使ったことない のでわからない 🙅バッドノウハウ ※決してSQLで協調フィルタなどを実装することを批判するものではあり ません
  • 28. © LINE Data Labs おわりに  PySpark -> なんでもできて最高
  • 29. © LINE Data Labs おわりに  PySpark -> なんでもできて最高 PySparkで大規模データをゴリゴリ分析して 事業に貢献したいあなたはLINEへ!!