Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
© 2018 CData Software Japan, LLC | www.cdata.com/jp
ZOZO 前澤社長お年玉リツイート企画のビッグデータに立ち向かう方法
-Twitterのビッグデータを分析するために、実際にやってみてわかっ...
See the World as a
Database
Speaker
杉本 和也:Kazuya Sugimoto
• CData Software Japan, LLC Lead Engineer
• Microsoft MVP for Bu...
© 2018 CData Software Japan, LLC | www.cdata.com/jp
About CData Software
Bi-directional Access to Live App, Database, & We...
© 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およびマー...
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Power BI のデータソース拡張コネクターなどを作ってます
Drivers for NoSQL, Big Data, & SaaS Co...
© 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ツールな...
© 2018 CData Software Japan, LLC | www.cdata.com/jp
立ちはだかる「嵌りどころ・落とし穴」たち
© 2018 CData Software Japan, LLC | www.cdata.com/jp
分析するまでの過程で遭遇した4つの課題
Twitter
API リミット対策
どうやって500万件の
ツイートを取得するの?
どうやって対象...
© 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...
© 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 Pr...
© 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万円ほど...
© 2018 CData Software Japan, LLC | www.cdata.com/jp
ちなみに、取得した時に使ったコードは以下で公開中
https://github.com/sugimomoto/CData.Twitter.R...
© 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]
} 変換!?...
© 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": "Samp...
© 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
とはいえ
• テラバイト・ペタバイト級のデータでも無い
• ワンポイントデータなのでストリーミング処理も要らない
• 構文解析などまで手を染...
© 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
...
© 2018 CData Software Japan, LLC | www.cdata.com/jp
.NET C#
CData
ADO.NET
ちなみに、もし Standard Search API を使うなら
138時間連続稼働させること...
© 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 なら 大量ツイートも軽々さばける!
• 検索アプローチは要注意。やりたいこととどこまで検索対象
にできる...
© 2018 CData Software Japan, LLC | www.cdata.com/jp
CData Software Japan では メンバーを募集中!
https://www.wantedly.com/projects/26...
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Special Thanks
Blog公開時からご支援頂いた
@渡部 知記 さん
@Shohei Oda さん
@Takeshi Kagat...
© 2018 CData Software Japan, LLC | www.cdata.com/jp
Thanks!
Nächste SlideShare
Wird geladen in …5
×

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

5.209 Aufrufe

Veröffentlicht am

1月28日に日本マイクロソフト品川本社セミナールームC+D で開催された「ZOZO 前澤社長のお年玉リツイート企画は、どのくらい世の中に影響を与えたのか?」

テクニカルセッション

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

のスライドです。

イベントサイトはこちらから。
https://peatix.com/event/593149/

元ネタとなった私のBlog記事はこちらです。
http://bit.ly/2CRxIBd

Veröffentlicht in: Technologie
  • DOWNLOAD FULL BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

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

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

×