SlideShare une entreprise Scribd logo
1  sur  26
Tableau + Pythonと
データのあり方
Tableau データサイエンス勉強会第4回
About Me
荒木 和也
Kazuya Araki
Knight of Tableau DATA Saber
受託開発 -> パッケージ開発 -> 某HR Tech & 個人事業
Engineer -> Data Analyst / Data Enginieer / Data Archtect
Love: Data
Hobby: J-Rock, Snow Sports, PC Game, Board Game etc(100+)https://www.facebook.com/kazuya.araki.tokyo
@kazuya_araki_jp
https://note.mu/jedi_trickstar
https://public.tableau.com/profile/kazuya.araki#!/
お話しすること
最近考えている、思っていることについて語ってみます。
(サイエンスよりは、エンジニアリングの与太話となります)
● データとTableau(Desktop)の関係
● TableauとPython
お話ししないこと
10分では足りないので。
● PythonのHow
● TabPyの細かい話(本当は語りたい)
データとTableau(Desktop)の関係
基本はETL(データパイプライン)の考え方
Tableau(Desktop)は優秀
優秀すぎるが故の罠
優秀すぎるが故の罠
例: 計算フィールド多すぎ問題
● 単純にパフォーマンスが劣化する。
● メジャーの視認性が悪くなる。
● メジャー名を正しく定義しないと使うときに困る。
● 計算式が正しくなかった場合のレビューがとても難しい。
○ レビュワーもCreatorユーザーでなければならない。
etc...
優秀すぎるが故の罠
優秀すぎるが故の罠
例: カスタムSQL
● SQLが実行できるデータソースで発生しうる。
○ データマート構築が進んでいない場合。
○ サービズデータを無加工でデータウェアハウスに格納して
いる場合。
○ 総じて、データエンジニアリングが未熟なフェーズ。
● Tableau Desktopのウインドウだと視認性が良くない。
● SQLが正しくなかった場合のレビューがとても難しい。
○ レビュワーもCreatorユーザーでなければならない。
○ 計算フィールドと複合していると原因特定に詰む。
○ SQLを書いた本人ですらわからない場合もある。
etc...
(フォーマッターかけて)
800行超あるSQL
気をつけないと痛い目を見る
構成を考えてみる🤔
最近の推しの構成
最近の推しの構成
役割分担と構成管理
データ加工とデータ可視化を分けた方がよさそう
● データ加工 = SQL / Python / Tableau Prep Builder
○ GitHubでコードを管理する。
■ データ定義を残す。
■ 再現性を担保する(= 誰が使っても同じ結果になる保証)。
○ SQLはデータベース、SQLでできないことはPythonに任せる。
○ API系はPython。
○ Tableau Prepは可能性しかない。今後に期待。
■ ただし、Prep Conductorまで使うには別途追加料金が必要。
● データ可視化 = Tableau Desktop
○ Tableau側はデータについて関与しない。
○ Tableauはデータ可視化にだけ、注力するようにする。
TableauとPython
Python IDEの構成 from あらき
TabPyの登場
Tableau内でPythonが記述可能に
TabPy
リプレース可能?
TabPy
🤔
一人Zen問答したメモ at 2019/10/01
● TabPyの位置付けは計算フィールドと変わらないので、データパイプライン
を考えると、役割分担ができない。
● 一方で、TabPyは構築さえできてしまえばTableau内で完結するので、楽とい
えば楽。
● どちらが優れているかは現時点では判断できない。
● 少なくとも、2人以上が関わるようになった場合は、Tableau内であれこれや
るよりも、ちゃんと思考開示して共有できるようにしないと属人化は進むだ
ろう。
○ Citizen Data Scientists向け?
○ Data Engineerをかかえている組織であれば、分業した方が効率は良い?
もう少し、ざっくばらんに
議論したいです
※背景画像はイメージです
まとめ
● データとTableau(Desktop)の関係
○ データパイプラインを意識する = ツールに適した役割分担をする。
○ データ定義はTableau(Desktop)内で行うべきではない(のが個人的見解)。
○ なんでもTableau(Desktop)で解決しようとしない。
● TableauとPythonTabPy
○ データパイプラインを意識すると、TabPyの導入意義が薄れてしまう(のが個人的見解)。
○ もう少し深掘りしていきたいです🙇
Tableau + Pythonとデータのあり方

Contenu connexe

Tendances

Oracle Database In Lock
Oracle Database In LockOracle Database In Lock
Oracle Database In Lock
Ryota Watabe
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
Takuya ASADA
 
マルチコア時代の並列プログラミング
マルチコア時代の並列プログラミングマルチコア時代の並列プログラミング
マルチコア時代の並列プログラミング
Akihiko Matuura
 
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
y torazuka
 

Tendances (20)

スイッチ・ルータのしくみ
スイッチ・ルータのしくみスイッチ・ルータのしくみ
スイッチ・ルータのしくみ
 
WebSocketプロトコル
WebSocketプロトコルWebSocketプロトコル
WebSocketプロトコル
 
TIME_WAITに関する話
TIME_WAITに関する話TIME_WAITに関する話
TIME_WAITに関する話
 
AI技術の現状と課題 〜aiboおよび自然言語処理〜
AI技術の現状と課題 〜aiboおよび自然言語処理〜AI技術の現状と課題 〜aiboおよび自然言語処理〜
AI技術の現状と課題 〜aiboおよび自然言語処理〜
 
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQL 13でのpg_stat_statementsの改善について(第12回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方iostat await svctm の 見かた、考え方
iostat await svctm の 見かた、考え方
 
情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成
 
Oracle Database In Lock
Oracle Database In LockOracle Database In Lock
Oracle Database In Lock
 
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
宇宙一早いreCapとreInvent2回目参加に向けての意気込み.pptx
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法マルチコアとネットワークスタックの高速化技法
マルチコアとネットワークスタックの高速化技法
 
マルチコア時代の並列プログラミング
マルチコア時代の並列プログラミングマルチコア時代の並列プログラミング
マルチコア時代の並列プログラミング
 
ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudyネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
ネットワークの自動化・監視の取り組みについて #netopscoding #npstudy
 
DataGuard体験記
DataGuard体験記DataGuard体験記
DataGuard体験記
 
Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~
Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~
Tableau人材を育てるには? ~truestar文化に学ぶエフォートレスな勉強会のすゝめ~
 
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
JJUG CCC 2013 Fall「JVMコードリーディング入門-JVMのOS抽象化レイヤーについて-」
 
20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ20170525 jsug バッチは地味だが役に立つ
20170525 jsug バッチは地味だが役に立つ
 

Similaire à Tableau + Pythonとデータのあり方

「R for Cloud Computing」の紹介
「R for Cloud Computing」の紹介「R for Cloud Computing」の紹介
「R for Cloud Computing」の紹介
Takekatsu Hiramura
 

Similaire à Tableau + Pythonとデータのあり方 (20)

DBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキルDBエンジニアに必要だったPythonのスキル
DBエンジニアに必要だったPythonのスキル
 
Tableau r graph_theory
Tableau r graph_theoryTableau r graph_theory
Tableau r graph_theory
 
Tableau r graph_theory
Tableau r graph_theoryTableau r graph_theory
Tableau r graph_theory
 
Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
Tableau Developers Club 外部サービス連携#1 Tabpy触ってみよう#1
 
データアナリストとログ基盤の付き合い方 DataAnalystMeetup#07
データアナリストとログ基盤の付き合い方 DataAnalystMeetup#07データアナリストとログ基盤の付き合い方 DataAnalystMeetup#07
データアナリストとログ基盤の付き合い方 DataAnalystMeetup#07
 
Tableauから始める機械学習ーやってみようPython連携_2019-05-23
Tableauから始める機械学習ーやってみようPython連携_2019-05-23Tableauから始める機械学習ーやってみようPython連携_2019-05-23
Tableauから始める機械学習ーやってみようPython連携_2019-05-23
 
データ分析プラットフォームの歩き方
データ分析プラットフォームの歩き方データ分析プラットフォームの歩き方
データ分析プラットフォームの歩き方
 
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
Sparkコミュニティに飛び込もう!(Spark Meetup Tokyo 2015 講演資料、NTTデータ 猿田 浩輔)
 
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化PyData入門(超初心者編)~野球のデータをカジュアルに可視化
PyData入門(超初心者編)~野球のデータをカジュアルに可視化
 
すごいタスク管理(仮)
すごいタスク管理(仮)すごいタスク管理(仮)
すごいタスク管理(仮)
 
Prepを使ってデータを武器にしよう!
Prepを使ってデータを武器にしよう!Prepを使ってデータを武器にしよう!
Prepを使ってデータを武器にしよう!
 
Prepを使ってデータを武器にしよう
Prepを使ってデータを武器にしようPrepを使ってデータを武器にしよう
Prepを使ってデータを武器にしよう
 
僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア僕の考える最強のビックデータエンジニア
僕の考える最強のビックデータエンジニア
 
「R for Cloud Computing」の紹介
「R for Cloud Computing」の紹介「R for Cloud Computing」の紹介
「R for Cloud Computing」の紹介
 
Pub tableau ladiesusergroup_14
Pub tableau ladiesusergroup_14Pub tableau ladiesusergroup_14
Pub tableau ladiesusergroup_14
 
れこめん道~とあるエンジニアの苦闘の日々
れこめん道~とあるエンジニアの苦闘の日々 れこめん道~とあるエンジニアの苦闘の日々
れこめん道~とあるエンジニアの苦闘の日々
 
「れこめん道」~とあるエンジニアの苦闘の日々
「れこめん道」~とあるエンジニアの苦闘の日々「れこめん道」~とあるエンジニアの苦闘の日々
「れこめん道」~とあるエンジニアの苦闘の日々
 
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
リクルートライフスタイルが考える、万人に使ってもらえる分析基盤の作り方
 
データサイエンティストの今
データサイエンティストの今データサイエンティストの今
データサイエンティストの今
 
構造化データをツールで簡単に分析
構造化データをツールで簡単に分析構造化データをツールで簡単に分析
構造化データをツールで簡単に分析
 

Tableau + Pythonとデータのあり方