SlideShare une entreprise Scribd logo
1  sur  78
Télécharger pour lire hors ligne
© 2018 CData Software Japan, LLC | www.cdata.com/jp
ZOZO 前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法
-Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントとその対策-
2019/01
CData Software Japan
Kazuya Sugimoto -Lead Engineer
See the World as a
Database
Speaker
杉本 和也:Kazuya Sugimoto
• CData Software Japan, LLC Lead Engineer
• Microsoft MVP for Business Solution(Dynamics CRM/365)
Blog:Morning Girl
http://kageura.hatenadiary.jp/
Twitter:@sugimomoto Facebook:sugimomoto
© 2018 CData Software Japan, LLC | www.cdata.com/jp
About CData Software
Bi-directional Access to Live App, Database, & Web API Data Through Standard Drivers
・CData Software, Inc. / Started: 1994 (/nsoftware)
・Location: Chapel Hill, NC a spin-off of /n software
・CData Japan: 2016/6 (JV with Infoteria)
・20年以上にわたりデータ関連コンポーネントを提供
・100+ 対応データソース
・「API を使いやすく」をミッションにクラウドデータ接続を標準化
© 2018 CData Software Japan, LLC | www.cdata.com/jp
はじめに
-なんでこんなことをしようと思ったのか?-
© 2018 CData Software Japan, LLC | www.cdata.com/jp
[前澤 API]で Twitter 検索すると出てくる
Twitter API ・抽選方法への懐疑的な声
© 2018 CData Software Japan, LLC | www.cdata.com/jp
API で取得できない、件数さばけない!
という声が多数!
ほんと・・・?
© 2018 CData Software Japan, LLC | www.cdata.com/jp
ちょっと話はそれますが
© 2018 CData Software Japan, LLC | www.cdata.com/jp
業界最多級のデータソース
Drivers for NoSQL, Big Data, & SaaS Connectivity
CRMおよびマーケティング自動化
会計システム
コラボレーションおよびERP
オンプレミスおよびクラウドDB
ドキュメントおよびファイル形式
ソーシャルネットワーキングネットワーキングおよび認証
電子商取引
その他
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Power BI のデータソース拡張コネクターなどを作ってます
Drivers for NoSQL, Big Data, & SaaS Connectivity
© 2018 CData Software Japan, LLC | www.cdata.com/jp
CData Software Japan に勤めていて、
日々APIと戯れる API 中毒な人間として、
黙ってられない!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
今日お話したいこと・伝えたいこと
どうやって500万件におよぶ大量の Twitter データを取得したらいいのか?
どうやれば、BIツールなどで分析できる状態に持っていけるのか?
みなさんが
「1億円使って獲得した大量のリツイートを分析したい!」
と思ったときのために
実際に大量ツイートを取得した経験から
分析するまでのアプローチ・対応方法・API の仕様や制約をまとめてみました!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
立ちはだかる「嵌りどころ・落とし穴」たち
© 2018 CData Software Japan, LLC | www.cdata.com/jp
分析するまでの過程で遭遇した4つの課題
Twitter
API リミット対策
どうやって500万件の
ツイートを取得するの?
どうやって対象の
ツイートを特定するの?
Twitter Search
API の仕様と制限
どうやって取得した
データを構造化するの?
Twitter データの
構造と解析
どうやって DB に
データを流し込むの?
Twitter データの
DB移行方法
© 2018 CData Software Japan, LLC | www.cdata.com/jp
1.どうやって500万件のリツイートを取得するの?
-Twitter API リミット対策-
© 2018 CData Software Japan, LLC | www.cdata.com/jp
仮に ZOZO前澤社長が本気で API を使って抽選
しようとした場合どうなるか?
イベント期間
「1月5日 22:35 ~ 1月7日 24:00」
当選者発表
「1月8日 9:00」
もし、適切に当選者を全部取得して抽選するのであれば、
「約50時間(24時間 ☓ 2 + 9時間)」
で500万リツイート取得する必要があった
© 2018 CData Software Japan, LLC | www.cdata.com/jp
通常通り Twitter API を使って取得した
場合どうなるの?
© 2018 CData Software Japan, LLC | www.cdata.com/jp
69時間!? 厳しい!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
そこで、2017年に発表された 有償の Search API
「Premium / Enterprise Search API」を使う!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
「Premium / Enterprise Search API」を
使った場合、どうなるの?
Standard Search API Premium Search API Enterprise Search API
取得対象期間 過去 7 日間 過去 30 日間 過去 30 日間
1リクエストで取得できる件数 100 ツイート
count=100
500 ツイート
maxResults=500
500 ツイート
maxResults=500
リクエスト制限 15分 / 180 リクエスト 1分 / 60 リクエスト 1秒 / 20リクエスト
1時間あたりで取得できるツイート数 72,000 ツイート
180 * 4 * 100
1,800,000 ツイート
60 * 60 * 500
36,000,000 ツイート
20 * 60 * 60 * 500
1000万 ツイート取得にかかる時間
(500万ツイートの場合)
138 時間
(69時間)
5.5 時間
(2.75時間)
22 分
(11分)
1000万 ツイート取得にかかる費用 無償 5,000 ドル Twitter 社次第
© 2018 CData Software Japan, LLC | www.cdata.com/jp
ちなみに Premium API の利用料金
(Enterprise API は Twitter 社へ要相談)
© 2018 CData Software Japan, LLC | www.cdata.com/jp
2.どうやって対象のツイートを識別するの?
-Twitter Search API の仕様と制限-
© 2018 CData Software Japan, LLC | www.cdata.com/jp
そもそも何を取得したかったのか?
主なターゲットは
このリツイート
© 2018 CData Software Japan, LLC | www.cdata.com/jp
でも、それ以外にも私はこの企画全体の
影響を可視化したかった・・・!
例えば・・・
© 2018 CData Software Japan, LLC | www.cdata.com/jp
意見を述べる人とか、ニュースとか
© 2018 CData Software Japan, LLC | www.cdata.com/jp
こういう偽物とか
© 2018 CData Software Japan, LLC | www.cdata.com/jp
なんか便乗する人とか
© 2018 CData Software Japan, LLC | www.cdata.com/jp
こんなイベントを開く人とか
© 2018 CData Software Japan, LLC | www.cdata.com/jp
もちろん当選した人も
© 2018 CData Software Japan, LLC | www.cdata.com/jp
取得したいツイートの種類
通常リツイート 引用リツイート リプライ(返信)通常ツイート
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Search API の「Query」を使うわけですが
-Query Available operators-
© 2018 CData Software Japan, LLC | www.cdata.com/jp
(仮定)
大本のツイートに「#月へ行くならお年玉」
これを使えば、全部いけるんじゃない?
© 2018 CData Software Japan, LLC | www.cdata.com/jp
やってみた
検索キーワードが
ツイート内にある
検索キーワードが
引用・リツイート先にある
ノーマルツイート 取得可能 -
リプライ 取得可能 取得できない!
ノーマルリツイート - 取得可能
引用リツイート 取得可能 取得できない!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
これが取得できない!!!!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
いろいろ考えた
© 2018 CData Software Japan, LLC | www.cdata.com/jp
結論
「#月に行くならお年玉」の
ハッシュタグが含まれていない引用リツイートも、
ハッシュタグツイートも取得するならどうするか?
© 2018 CData Software Japan, LLC | www.cdata.com/jp
1.retweets_of:で前澤社長のリツイート・
引用リツイートをすべて取得
2. 「#月に行くならお年玉」検索でさらに取得
3.そして、重複データを削除!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
つまり・・・
© 2018 CData Software Japan, LLC | www.cdata.com/jp
なので、今回は泣く泣く「#月に行くならお年玉」で
取得できるものをシンプルに集めました。
その数「430万ツイート」
それでも、27万円ほどかかりました
(うち、2万7千円が私の財布、3万9千円がPayPalで募ったところご支援いただけました!)
PS.もし、これならできるんじゃね? って人が居たら教えてください
© 2018 CData Software Japan, LLC | www.cdata.com/jp
ちなみに、取得した時に使ったコードは以下で公開中
https://github.com/sugimomoto/CData.Twitter.RetrieveZozoTweets
© 2018 CData Software Japan, LLC | www.cdata.com/jp
3.どうやって取得したデータを構造化するの?
-Twitter データの構造と解析-
© 2018 CData Software Japan, LLC | www.cdata.com/jp
とりあえず、なんやかんやで取得しました
8,653ファイル・33.5GB(1ファイル500ツイート)
© 2018 CData Software Japan, LLC | www.cdata.com/jp
でも中身はこんな感じ
© 2018 CData Software Japan, LLC | www.cdata.com/jp
{
Name : “kazuya”,
Age : 30,
Location : [-73.856077,
40.848447]
} 変換!?
スキーマレス
ネスト・配列ミックスな
階層構造
型はどうする?
配列はどうマッピングする?
ネスト構造は分ける?分けない?
RDBライクになれば、
BIツールに繋げやすい
どうやってRDBライクにスキーマを定義し扱うのか?
© 2018 CData Software Japan, LLC | www.cdata.com/jp
もちろん、Power BI は JSON 読み込めます
でも、何も挟まずに32GBものJSONを読むのは厳しい
© 2018 CData Software Japan, LLC | www.cdata.com/jp
しかも・・・
Twitter オブジェクトは結構フォーマットが多い
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Basic Tweet Format
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Extended Tweets Format
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Retweets Format
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Retweets and Quote Tweets Format
© 2018 CData Software Japan, LLC | www.cdata.com/jp
めんどくさい!
後々のことを考えてある程度リレーショナルな形に
フラット化したい!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
そこで、CData JSON Driver を
利用することにしました
© 2018 CData Software Japan, LLC | www.cdata.com/jp
JSON ファイルの構造を自動解析して
勝手にリレーショナル化してくれる
{
"documents": [
{
"title": "SampleTitle1",
"updated_at": "2018-09-10T05:22:26Z",
“files": [
{
"name": “SampleFile1-1",
"language_code": “en"
},
{
"name": " SampleFile1-2",
"language_code": "ja"
}
]
},
{
"title": "SampleTitle2",
"updated_at": "2018-09-05T05:22:26Z",
“files": [
{
"name": “SampleFile2-1,
"language_code": "ja"
},
{
"name": “SampleFile2-2",
"language_code": “en"
}
]
}
]
}
* title update_at
1 SampleTitle1 2018-09-10T05:22:26Z
2 SampleTitle2 2018-09-05T05:22:26Z
* documents_id name language_code
1 1 SampleFile1-1 en
2 1 SampleFile1-2 ja
3 2 SampleFile2-1 ja
4 2 SampleFile2-2 en
Files テーブル
Documents テーブル
参考:http://bit.ly/CDataJson
© 2018 CData Software Japan, LLC | www.cdata.com/jp
こんな感じになります
© 2018 CData Software Japan, LLC | www.cdata.com/jp
こんな風に見えるようになります
© 2018 CData Software Japan, LLC | www.cdata.com/jp
4.どうやって DB にデータを流し込むの?
-Twitter データのDB移行方法-
© 2018 CData Software Japan, LLC | www.cdata.com/jp
JSONを構造的にアクセスできるようにしたはいいが
分析の度に都度JSONファイルを読み込むのは重い
© 2018 CData Software Japan, LLC | www.cdata.com/jp
とはいえ
• テラバイト・ペタバイト級のデータでも無い
• ワンポイントデータなのでストリーミング処理も要らない
• 構文解析などまで手を染めるつもりはない
最終的にメンバーで分析することも考えて、
シンプルにクラウドRDBに送って、BI ツールで接続できるくらいがちょうどいい
© 2018 CData Software Japan, LLC | www.cdata.com/jp
また手前味噌ですが、CData Sync を活用しました
© 2018 CData Software Japan, LLC | www.cdata.com/jp
CData Sync って?
© 2018 CData Software Japan, LLC | www.cdata.com/jp
.NET C#
CData
ADO.NET
つまり、こんな感じのアーキテクチャにする
.NET
C#
REST
API
HTTP
JSON
SQL
RecordSet
SQL
Twitter Premium APIで
ツイートデータを取得
フラット化したJSONデータを
CData Sync で Azure SQL にレプリケート
SQL
最終的にPower BIを使って
リツイートを分析
{ json }
RecordSet
CData JSON Driver で
JSON をリレーショナル化
© 2018 CData Software Japan, LLC | www.cdata.com/jp
.NET C#
CData
ADO.NET
ちなみに、もし Standard Search API を使うなら
138時間連続稼働させることを考えてこんな感じに
REST
API
HTTP
JSON
SQL
RecordSet
SQL SQL
{ json }
RecordSet
{ json }
{ json }
{ json }
Azure
Functions
Azure
Storage
Azure
Web Apps
もしくは、DataFactory という手も
Azure SQL
もしくは
Datawarehouse
© 2018 CData Software Japan, LLC | www.cdata.com/jp
こんな風に同期設定
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Azure SQL 100 DTU に登録
© 2018 CData Software Japan, LLC | www.cdata.com/jp
これでようやく分析できる状況が整いました!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
最後に分析結果
Power BI で デモ
© 2018 CData Software Japan, LLC | www.cdata.com/jp
66
© 2018 CData Software Japan, LLC | www.cdata.com/jp
67
© 2018 CData Software Japan, LLC | www.cdata.com/jp
68
© 2018 CData Software Japan, LLC | www.cdata.com/jp
69
© 2018 CData Software Japan, LLC | www.cdata.com/jp
70
© 2018 CData Software Japan, LLC | www.cdata.com/jp
71
© 2018 CData Software Japan, LLC | www.cdata.com/jp
72
© 2018 CData Software Japan, LLC | www.cdata.com/jp
73
© 2018 CData Software Japan, LLC | www.cdata.com/jp
まとめ
© 2018 CData Software Japan, LLC | www.cdata.com/jp
まとめ
• Premium API なら 大量ツイートも軽々さばける!
• 検索アプローチは要注意。やりたいこととどこまで検索対象
にできるかは、事前に把握しておくこと。
• Twitter の JSON 構造は地味に複雑。
今後も変化する可能性あるので
柔軟に対応できる状態にしておくのがいい
• 500万リツイートでも40GBほど、実はそこまでビッグでもない
ちょうどいいRDB選択でも十分分析できる
© 2018 CData Software Japan, LLC | www.cdata.com/jp
CData Software Japan では メンバーを募集中!
https://www.wantedly.com/projects/265684
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Special Thanks
Blog公開時からご支援頂いた
@渡部 知記 さん
@Shohei Oda さん
@Takeshi Kagata さん
@小林 竜也 さん
@東 賢 (Ken Azuma)さん
@井之上さん
ありがとうございます!
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Thanks!

Contenu connexe

Tendances

Google HomeとSharePointを連携させてみた! 第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
Google HomeとSharePointを連携させてみた!  第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...Google HomeとSharePointを連携させてみた!  第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
Google HomeとSharePointを連携させてみた! 第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...Kazuya Sugimoto
 
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説Kazuya Sugimoto
 
Project service automation 導入のポイント
Project service automation 導入のポイントProject service automation 導入のポイント
Project service automation 導入のポイントNaoki Kakizaki
 
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCDataSendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCDataCData Software Japan
 
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方Kazuya Sugimoto
 
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -CData Software Japan
 
SharePoint 連携を俯瞰しちゃおう
SharePoint 連携を俯瞰しちゃおうSharePoint 連携を俯瞰しちゃおう
SharePoint 連携を俯瞰しちゃおうCData Software Japan
 
APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料CData Software Japan
 
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介Kazuya Sugimoto
 
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018CData Software Japan
 
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜CData Software Japan
 
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張CData Software Japan
 
はじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTはじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTCData Software Japan
 
Getting started with SAP Mobile Start
Getting started with SAP Mobile StartGetting started with SAP Mobile Start
Getting started with SAP Mobile StartMasayuki Sekihara
 
Sit tokyo2022 getting started with abap rap
Sit tokyo2022 getting started with abap rapSit tokyo2022 getting started with abap rap
Sit tokyo2022 getting started with abap rapMioYasutake
 
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみたTableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみたCData Software Japan
 
SELECT * FROM Marketo -CData Marketo Solutions
SELECT * FROM Marketo -CData Marketo SolutionsSELECT * FROM Marketo -CData Marketo Solutions
SELECT * FROM Marketo -CData Marketo SolutionsCData Software Japan
 
ついに登場SAP Data Warehouse Cloud
ついに登場SAP Data Warehouse Cloudついに登場SAP Data Warehouse Cloud
ついに登場SAP Data Warehouse CloudMasayuki Sekihara
 

Tendances (20)

Google HomeとSharePointを連携させてみた! 第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
Google HomeとSharePointを連携させてみた!  第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...Google HomeとSharePointを連携させてみた!  第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
Google HomeとSharePointを連携させてみた! 第8回 jpsps share pointoffice365名古屋分科勉強会 at ge...
 
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
28 201-5 まだまだ間に合う文系理系の就職活動に役立つitキーワード解説
 
Project service automation 導入のポイント
Project service automation 導入のポイントProject service automation 導入のポイント
Project service automation 導入のポイント
 
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCDataSendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
Sendai it commune 03 スポーツジムとダンベルと連携ソリューションとCData
 
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
【第5回jduc】【勉強会】dynamics 365 web apiとの接し方
 
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -RPAツールでもできるWeb API 連携  - もう画面変更でロボットが壊れるとは言わせない -
RPAツールでもできるWeb API 連携 - もう画面変更でロボットが壊れるとは言わせない -
 
SharePoint 連携を俯瞰しちゃおう
SharePoint 連携を俯瞰しちゃおうSharePoint 連携を俯瞰しちゃおう
SharePoint 連携を俯瞰しちゃおう
 
CData Sync 概要
CData Sync 概要CData Sync 概要
CData Sync 概要
 
APIに関するセッション資料
APIに関するセッション資料APIに関するセッション資料
APIに関するセッション資料
 
CData Sync Hand-on 資料
CData Sync Hand-on 資料CData Sync Hand-on 資料
CData Sync Hand-on 資料
 
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
繋ぐだけじゃ終わらない! IoTを手軽にビジネスプロセスへ統合する Azure IoT + Dynamics 365 の紹介
 
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
クラウド連携でのJDBC エコマップ LT#2 JJUG CC 2018
 
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
Twilio の API を SQL で操作!? 〜 CData Drivers for Twilio 製品のご紹介 〜
 
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
FileMaker プラットフォームにSalesforceやkintoneなどクラウドデータ連携機能を拡張
 
はじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LTはじめてのIT 勉強会@仙台 宣伝枠LT
はじめてのIT 勉強会@仙台 宣伝枠LT
 
Getting started with SAP Mobile Start
Getting started with SAP Mobile StartGetting started with SAP Mobile Start
Getting started with SAP Mobile Start
 
Sit tokyo2022 getting started with abap rap
Sit tokyo2022 getting started with abap rapSit tokyo2022 getting started with abap rap
Sit tokyo2022 getting started with abap rap
 
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみたTableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
Tableau Prep Builder で Salesforce (CRM) と DataRobot (機械学習) のデータをブレンディングしてみた
 
SELECT * FROM Marketo -CData Marketo Solutions
SELECT * FROM Marketo -CData Marketo SolutionsSELECT * FROM Marketo -CData Marketo Solutions
SELECT * FROM Marketo -CData Marketo Solutions
 
ついに登場SAP Data Warehouse Cloud
ついに登場SAP Data Warehouse Cloudついに登場SAP Data Warehouse Cloud
ついに登場SAP Data Warehouse Cloud
 

Similaire à ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントとその対策-

「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?CData Software Japan
 
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現CData Software Japan
 
究極にお手軽なkintone x Office tools 連携
究極にお手軽なkintone x Office tools 連携究極にお手軽なkintone x Office tools 連携
究極にお手軽なkintone x Office tools 連携CData Software Japan
 
JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携CData Software Japan
 
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現CData Software Japan
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方CData Software Japan
 
Let's BBQ with us!!
Let's BBQ with us!!Let's BBQ with us!!
Let's BBQ with us!!Hironari Ono
 
API はメタデータを提供せよ LT#1 JJUG_CCC2018
API はメタデータを提供せよ LT#1 JJUG_CCC2018API はメタデータを提供せよ LT#1 JJUG_CCC2018
API はメタデータを提供せよ LT#1 JJUG_CCC2018CData Software Japan
 
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐Rakuten Group, Inc.
 
小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話Tatsuya Yamamoto
 
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)CData Software Japan
 
社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみたJunichi Kodama
 
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化Cybozucommunity
 
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化CData Software Japan
 
2018年12月15日 AITC女子会 顔認識を活用したセミナー参加者の満足度分析
2018年12月15日 AITC女子会 顔認識を活用したセミナー参加者の満足度分析2018年12月15日 AITC女子会 顔認識を活用したセミナー参加者の満足度分析
2018年12月15日 AITC女子会 顔認識を活用したセミナー参加者の満足度分析aitc_jp
 
多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 CData Software Japan
 
Netadashi Meetup #6 20170629
Netadashi Meetup #6 20170629Netadashi Meetup #6 20170629
Netadashi Meetup #6 20170629Shigeki Morizane
 
国内外AIコンペティションからみるAI技術者のキャリアパスの潮流およびAIコンペサイトSIGNATEにおけるAWS活用事例
国内外AIコンペティションからみるAI技術者のキャリアパスの潮流およびAIコンペサイトSIGNATEにおけるAWS活用事例国内外AIコンペティションからみるAI技術者のキャリアパスの潮流およびAIコンペサイトSIGNATEにおけるAWS活用事例
国内外AIコンペティションからみるAI技術者のキャリアパスの潮流およびAIコンペサイトSIGNATEにおけるAWS活用事例秀 齊藤
 

Similaire à ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントとその対策- (20)

「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
「私のkintone 連携には何が最適?」CData Software ソリューションを使うケースは?
 
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現CData Sync × Google BigQuery  3ステップで各データソースとのデータ連携を実現
CData Sync × Google BigQuery 3ステップで各データソースとのデータ連携を実現
 
20180319 ccon sync kintone
20180319 ccon sync kintone20180319 ccon sync kintone
20180319 ccon sync kintone
 
JDBCで繋がるSaas連携
JDBCで繋がるSaas連携JDBCで繋がるSaas連携
JDBCで繋がるSaas連携
 
究極にお手軽なkintone x Office tools 連携
究極にお手軽なkintone x Office tools 連携究極にお手軽なkintone x Office tools 連携
究極にお手軽なkintone x Office tools 連携
 
JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携JDBCで繋がるクラウドDB・NoSQL連携
JDBCで繋がるクラウドDB・NoSQL連携
 
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現Excel × Google BigQuery  CData Driver で BigQuery とのデータ連携を実現
Excel × Google BigQuery CData Driver で BigQuery とのデータ連携を実現
 
マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方マルチクラウドデータ連携Javaアプリケーションの作り方
マルチクラウドデータ連携Javaアプリケーションの作り方
 
Let's BBQ with us!!
Let's BBQ with us!!Let's BBQ with us!!
Let's BBQ with us!!
 
API はメタデータを提供せよ LT#1 JJUG_CCC2018
API はメタデータを提供せよ LT#1 JJUG_CCC2018API はメタデータを提供せよ LT#1 JJUG_CCC2018
API はメタデータを提供せよ LT#1 JJUG_CCC2018
 
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
E-commerce企業におけるビッグデータへの挑戦と課題‐機械学習への期待について‐
 
小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話小規模チームで Type script と向き合う話
小規模チームで Type script と向き合う話
 
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
Wagby で100+ のクラウドデータに連携するアプリを開発(CData JDBC Drivers)
 
社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた社内のリース車の利用状況を Power BI で可視化してみた
社内のリース車の利用状況を Power BI で可視化してみた
 
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
 
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
グローバルソフトウェア企業が辿り着いたkintoneを 活用した『ハイブリッド』な最適化
 
2018年12月15日 AITC女子会 顔認識を活用したセミナー参加者の満足度分析
2018年12月15日 AITC女子会 顔認識を活用したセミナー参加者の満足度分析2018年12月15日 AITC女子会 顔認識を活用したセミナー参加者の満足度分析
2018年12月15日 AITC女子会 顔認識を活用したセミナー参加者の満足度分析
 
多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術 多対多のクラウド利用を支えるデータ標準化技術
多対多のクラウド利用を支えるデータ標準化技術
 
Netadashi Meetup #6 20170629
Netadashi Meetup #6 20170629Netadashi Meetup #6 20170629
Netadashi Meetup #6 20170629
 
国内外AIコンペティションからみるAI技術者のキャリアパスの潮流およびAIコンペサイトSIGNATEにおけるAWS活用事例
国内外AIコンペティションからみるAI技術者のキャリアパスの潮流およびAIコンペサイトSIGNATEにおけるAWS活用事例国内外AIコンペティションからみるAI技術者のキャリアパスの潮流およびAIコンペサイトSIGNATEにおけるAWS活用事例
国内外AIコンペティションからみるAI技術者のキャリアパスの潮流およびAIコンペサイトSIGNATEにおけるAWS活用事例
 

Dernier

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

Dernier (9)

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

ZOZO前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントとその対策-

  • 1. © 2018 CData Software Japan, LLC | www.cdata.com/jp ZOZO 前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法 -Twitterのビッグデータを分析するために、実際にやってみてわかった嵌りポイントとその対策- 2019/01 CData Software Japan Kazuya Sugimoto -Lead Engineer
  • 2. See the World as a Database Speaker 杉本 和也:Kazuya Sugimoto • CData Software Japan, LLC Lead Engineer • Microsoft MVP for Business Solution(Dynamics CRM/365) Blog:Morning Girl http://kageura.hatenadiary.jp/ Twitter:@sugimomoto Facebook:sugimomoto
  • 3. © 2018 CData Software Japan, LLC | www.cdata.com/jp About CData Software Bi-directional Access to Live App, Database, & Web API Data Through Standard Drivers ・CData Software, Inc. / Started: 1994 (/nsoftware) ・Location: Chapel Hill, NC a spin-off of /n software ・CData Japan: 2016/6 (JV with Infoteria) ・20年以上にわたりデータ関連コンポーネントを提供 ・100+ 対応データソース ・「API を使いやすく」をミッションにクラウドデータ接続を標準化
  • 4. © 2018 CData Software Japan, LLC | www.cdata.com/jp はじめに -なんでこんなことをしようと思ったのか?-
  • 5. © 2018 CData Software Japan, LLC | www.cdata.com/jp [前澤 API]で Twitter 検索すると出てくる Twitter API ・抽選方法への懐疑的な声
  • 6. © 2018 CData Software Japan, LLC | www.cdata.com/jp API で取得できない、件数さばけない! という声が多数! ほんと・・・?
  • 7. © 2018 CData Software Japan, LLC | www.cdata.com/jp ちょっと話はそれますが
  • 8. © 2018 CData Software Japan, LLC | www.cdata.com/jp 業界最多級のデータソース Drivers for NoSQL, Big Data, & SaaS Connectivity CRMおよびマーケティング自動化 会計システム コラボレーションおよびERP オンプレミスおよびクラウドDB ドキュメントおよびファイル形式 ソーシャルネットワーキングネットワーキングおよび認証 電子商取引 その他
  • 9. © 2018 CData Software Japan, LLC | www.cdata.com/jp Power BI のデータソース拡張コネクターなどを作ってます Drivers for NoSQL, Big Data, & SaaS Connectivity
  • 10. © 2018 CData Software Japan, LLC | www.cdata.com/jp CData Software Japan に勤めていて、 日々APIと戯れる API 中毒な人間として、 黙ってられない!
  • 11. © 2018 CData Software Japan, LLC | www.cdata.com/jp 今日お話したいこと・伝えたいこと どうやって500万件におよぶ大量の Twitter データを取得したらいいのか? どうやれば、BIツールなどで分析できる状態に持っていけるのか? みなさんが 「1億円使って獲得した大量のリツイートを分析したい!」 と思ったときのために 実際に大量ツイートを取得した経験から 分析するまでのアプローチ・対応方法・API の仕様や制約をまとめてみました!
  • 12. © 2018 CData Software Japan, LLC | www.cdata.com/jp 立ちはだかる「嵌りどころ・落とし穴」たち
  • 13. © 2018 CData Software Japan, LLC | www.cdata.com/jp 分析するまでの過程で遭遇した4つの課題 Twitter API リミット対策 どうやって500万件の ツイートを取得するの? どうやって対象の ツイートを特定するの? Twitter Search API の仕様と制限 どうやって取得した データを構造化するの? Twitter データの 構造と解析 どうやって DB に データを流し込むの? Twitter データの DB移行方法
  • 14. © 2018 CData Software Japan, LLC | www.cdata.com/jp 1.どうやって500万件のリツイートを取得するの? -Twitter API リミット対策-
  • 15. © 2018 CData Software Japan, LLC | www.cdata.com/jp 仮に ZOZO前澤社長が本気で API を使って抽選 しようとした場合どうなるか? イベント期間 「1月5日 22:35 ~ 1月7日 24:00」 当選者発表 「1月8日 9:00」 もし、適切に当選者を全部取得して抽選するのであれば、 「約50時間(24時間 ☓ 2 + 9時間)」 で500万リツイート取得する必要があった
  • 16. © 2018 CData Software Japan, LLC | www.cdata.com/jp 通常通り Twitter API を使って取得した 場合どうなるの?
  • 17. © 2018 CData Software Japan, LLC | www.cdata.com/jp 69時間!? 厳しい!
  • 18. © 2018 CData Software Japan, LLC | www.cdata.com/jp そこで、2017年に発表された 有償の Search API 「Premium / Enterprise Search API」を使う!
  • 19. © 2018 CData Software Japan, LLC | www.cdata.com/jp 「Premium / Enterprise Search API」を 使った場合、どうなるの? Standard Search API Premium Search API Enterprise Search API 取得対象期間 過去 7 日間 過去 30 日間 過去 30 日間 1リクエストで取得できる件数 100 ツイート count=100 500 ツイート maxResults=500 500 ツイート maxResults=500 リクエスト制限 15分 / 180 リクエスト 1分 / 60 リクエスト 1秒 / 20リクエスト 1時間あたりで取得できるツイート数 72,000 ツイート 180 * 4 * 100 1,800,000 ツイート 60 * 60 * 500 36,000,000 ツイート 20 * 60 * 60 * 500 1000万 ツイート取得にかかる時間 (500万ツイートの場合) 138 時間 (69時間) 5.5 時間 (2.75時間) 22 分 (11分) 1000万 ツイート取得にかかる費用 無償 5,000 ドル Twitter 社次第
  • 20. © 2018 CData Software Japan, LLC | www.cdata.com/jp ちなみに Premium API の利用料金 (Enterprise API は Twitter 社へ要相談)
  • 21. © 2018 CData Software Japan, LLC | www.cdata.com/jp 2.どうやって対象のツイートを識別するの? -Twitter Search API の仕様と制限-
  • 22. © 2018 CData Software Japan, LLC | www.cdata.com/jp そもそも何を取得したかったのか? 主なターゲットは このリツイート
  • 23. © 2018 CData Software Japan, LLC | www.cdata.com/jp でも、それ以外にも私はこの企画全体の 影響を可視化したかった・・・! 例えば・・・
  • 24. © 2018 CData Software Japan, LLC | www.cdata.com/jp 意見を述べる人とか、ニュースとか
  • 25. © 2018 CData Software Japan, LLC | www.cdata.com/jp こういう偽物とか
  • 26. © 2018 CData Software Japan, LLC | www.cdata.com/jp なんか便乗する人とか
  • 27. © 2018 CData Software Japan, LLC | www.cdata.com/jp こんなイベントを開く人とか
  • 28. © 2018 CData Software Japan, LLC | www.cdata.com/jp もちろん当選した人も
  • 29. © 2018 CData Software Japan, LLC | www.cdata.com/jp 取得したいツイートの種類 通常リツイート 引用リツイート リプライ(返信)通常ツイート
  • 30. © 2018 CData Software Japan, LLC | www.cdata.com/jp Search API の「Query」を使うわけですが -Query Available operators-
  • 31. © 2018 CData Software Japan, LLC | www.cdata.com/jp (仮定) 大本のツイートに「#月へ行くならお年玉」 これを使えば、全部いけるんじゃない?
  • 32. © 2018 CData Software Japan, LLC | www.cdata.com/jp やってみた 検索キーワードが ツイート内にある 検索キーワードが 引用・リツイート先にある ノーマルツイート 取得可能 - リプライ 取得可能 取得できない! ノーマルリツイート - 取得可能 引用リツイート 取得可能 取得できない!
  • 33. © 2018 CData Software Japan, LLC | www.cdata.com/jp これが取得できない!!!!
  • 34. © 2018 CData Software Japan, LLC | www.cdata.com/jp いろいろ考えた
  • 35. © 2018 CData Software Japan, LLC | www.cdata.com/jp 結論 「#月に行くならお年玉」の ハッシュタグが含まれていない引用リツイートも、 ハッシュタグツイートも取得するならどうするか?
  • 36. © 2018 CData Software Japan, LLC | www.cdata.com/jp 1.retweets_of:で前澤社長のリツイート・ 引用リツイートをすべて取得 2. 「#月に行くならお年玉」検索でさらに取得 3.そして、重複データを削除!
  • 37. © 2018 CData Software Japan, LLC | www.cdata.com/jp つまり・・・
  • 38. © 2018 CData Software Japan, LLC | www.cdata.com/jp なので、今回は泣く泣く「#月に行くならお年玉」で 取得できるものをシンプルに集めました。 その数「430万ツイート」 それでも、27万円ほどかかりました (うち、2万7千円が私の財布、3万9千円がPayPalで募ったところご支援いただけました!) PS.もし、これならできるんじゃね? って人が居たら教えてください
  • 39. © 2018 CData Software Japan, LLC | www.cdata.com/jp ちなみに、取得した時に使ったコードは以下で公開中 https://github.com/sugimomoto/CData.Twitter.RetrieveZozoTweets
  • 40. © 2018 CData Software Japan, LLC | www.cdata.com/jp 3.どうやって取得したデータを構造化するの? -Twitter データの構造と解析-
  • 41. © 2018 CData Software Japan, LLC | www.cdata.com/jp とりあえず、なんやかんやで取得しました 8,653ファイル・33.5GB(1ファイル500ツイート)
  • 42. © 2018 CData Software Japan, LLC | www.cdata.com/jp でも中身はこんな感じ
  • 43. © 2018 CData Software Japan, LLC | www.cdata.com/jp { Name : “kazuya”, Age : 30, Location : [-73.856077, 40.848447] } 変換!? スキーマレス ネスト・配列ミックスな 階層構造 型はどうする? 配列はどうマッピングする? ネスト構造は分ける?分けない? RDBライクになれば、 BIツールに繋げやすい どうやってRDBライクにスキーマを定義し扱うのか?
  • 44. © 2018 CData Software Japan, LLC | www.cdata.com/jp もちろん、Power BI は JSON 読み込めます でも、何も挟まずに32GBものJSONを読むのは厳しい
  • 45. © 2018 CData Software Japan, LLC | www.cdata.com/jp しかも・・・ Twitter オブジェクトは結構フォーマットが多い
  • 46. © 2018 CData Software Japan, LLC | www.cdata.com/jp Basic Tweet Format
  • 47. © 2018 CData Software Japan, LLC | www.cdata.com/jp Extended Tweets Format
  • 48. © 2018 CData Software Japan, LLC | www.cdata.com/jp Retweets Format
  • 49. © 2018 CData Software Japan, LLC | www.cdata.com/jp Retweets and Quote Tweets Format
  • 50. © 2018 CData Software Japan, LLC | www.cdata.com/jp めんどくさい! 後々のことを考えてある程度リレーショナルな形に フラット化したい!
  • 51. © 2018 CData Software Japan, LLC | www.cdata.com/jp そこで、CData JSON Driver を 利用することにしました
  • 52. © 2018 CData Software Japan, LLC | www.cdata.com/jp JSON ファイルの構造を自動解析して 勝手にリレーショナル化してくれる { "documents": [ { "title": "SampleTitle1", "updated_at": "2018-09-10T05:22:26Z", “files": [ { "name": “SampleFile1-1", "language_code": “en" }, { "name": " SampleFile1-2", "language_code": "ja" } ] }, { "title": "SampleTitle2", "updated_at": "2018-09-05T05:22:26Z", “files": [ { "name": “SampleFile2-1, "language_code": "ja" }, { "name": “SampleFile2-2", "language_code": “en" } ] } ] } * title update_at 1 SampleTitle1 2018-09-10T05:22:26Z 2 SampleTitle2 2018-09-05T05:22:26Z * documents_id name language_code 1 1 SampleFile1-1 en 2 1 SampleFile1-2 ja 3 2 SampleFile2-1 ja 4 2 SampleFile2-2 en Files テーブル Documents テーブル 参考:http://bit.ly/CDataJson
  • 53. © 2018 CData Software Japan, LLC | www.cdata.com/jp こんな感じになります
  • 54. © 2018 CData Software Japan, LLC | www.cdata.com/jp こんな風に見えるようになります
  • 55. © 2018 CData Software Japan, LLC | www.cdata.com/jp 4.どうやって DB にデータを流し込むの? -Twitter データのDB移行方法-
  • 56. © 2018 CData Software Japan, LLC | www.cdata.com/jp JSONを構造的にアクセスできるようにしたはいいが 分析の度に都度JSONファイルを読み込むのは重い
  • 57. © 2018 CData Software Japan, LLC | www.cdata.com/jp とはいえ • テラバイト・ペタバイト級のデータでも無い • ワンポイントデータなのでストリーミング処理も要らない • 構文解析などまで手を染めるつもりはない 最終的にメンバーで分析することも考えて、 シンプルにクラウドRDBに送って、BI ツールで接続できるくらいがちょうどいい
  • 58. © 2018 CData Software Japan, LLC | www.cdata.com/jp また手前味噌ですが、CData Sync を活用しました
  • 59. © 2018 CData Software Japan, LLC | www.cdata.com/jp CData Sync って?
  • 60. © 2018 CData Software Japan, LLC | www.cdata.com/jp .NET C# CData ADO.NET つまり、こんな感じのアーキテクチャにする .NET C# REST API HTTP JSON SQL RecordSet SQL Twitter Premium APIで ツイートデータを取得 フラット化したJSONデータを CData Sync で Azure SQL にレプリケート SQL 最終的にPower BIを使って リツイートを分析 { json } RecordSet CData JSON Driver で JSON をリレーショナル化
  • 61. © 2018 CData Software Japan, LLC | www.cdata.com/jp .NET C# CData ADO.NET ちなみに、もし Standard Search API を使うなら 138時間連続稼働させることを考えてこんな感じに REST API HTTP JSON SQL RecordSet SQL SQL { json } RecordSet { json } { json } { json } Azure Functions Azure Storage Azure Web Apps もしくは、DataFactory という手も Azure SQL もしくは Datawarehouse
  • 62. © 2018 CData Software Japan, LLC | www.cdata.com/jp こんな風に同期設定
  • 63. © 2018 CData Software Japan, LLC | www.cdata.com/jp Azure SQL 100 DTU に登録
  • 64. © 2018 CData Software Japan, LLC | www.cdata.com/jp これでようやく分析できる状況が整いました!
  • 65. © 2018 CData Software Japan, LLC | www.cdata.com/jp 最後に分析結果 Power BI で デモ
  • 66. © 2018 CData Software Japan, LLC | www.cdata.com/jp 66
  • 67. © 2018 CData Software Japan, LLC | www.cdata.com/jp 67
  • 68. © 2018 CData Software Japan, LLC | www.cdata.com/jp 68
  • 69. © 2018 CData Software Japan, LLC | www.cdata.com/jp 69
  • 70. © 2018 CData Software Japan, LLC | www.cdata.com/jp 70
  • 71. © 2018 CData Software Japan, LLC | www.cdata.com/jp 71
  • 72. © 2018 CData Software Japan, LLC | www.cdata.com/jp 72
  • 73. © 2018 CData Software Japan, LLC | www.cdata.com/jp 73
  • 74. © 2018 CData Software Japan, LLC | www.cdata.com/jp まとめ
  • 75. © 2018 CData Software Japan, LLC | www.cdata.com/jp まとめ • Premium API なら 大量ツイートも軽々さばける! • 検索アプローチは要注意。やりたいこととどこまで検索対象 にできるかは、事前に把握しておくこと。 • Twitter の JSON 構造は地味に複雑。 今後も変化する可能性あるので 柔軟に対応できる状態にしておくのがいい • 500万リツイートでも40GBほど、実はそこまでビッグでもない ちょうどいいRDB選択でも十分分析できる
  • 76. © 2018 CData Software Japan, LLC | www.cdata.com/jp CData Software Japan では メンバーを募集中! https://www.wantedly.com/projects/265684
  • 77. © 2018 CData Software Japan, LLC | www.cdata.com/jp Special Thanks Blog公開時からご支援頂いた @渡部 知記 さん @Shohei Oda さん @Takeshi Kagata さん @小林 竜也 さん @東 賢 (Ken Azuma)さん @井之上さん ありがとうございます!
  • 78. © 2018 CData Software Japan, LLC | www.cdata.com/jp Thanks!