日本の
オープンデータ
プラットフォームを
Pythonでつくる
2015-10-10 @PyConJP
今日の内容
• 自己紹介
• 動機:日本の経済・社会統計の現状
• 問題解決:オープンデータプラットフォーム
• 実現方法:プラットフォームの実装
自己紹介
3
自己紹介
• バクフー株式会社 代表取締役 柏野 雄太 (かしの ゆうた)
• 大規模リアルタイムデータのデータプラットフォーム
• PPPP preprocess /process /persistence /providing
自己紹介
• 大規模リアルタイムのデータプラットフォーム
リアルタイムデータ 処理
process
ストア
persistence
API, 検索
ストリーミング
API, 検索
可視化 通知
API, 検索
可視化
API, 検索
ストリーミ...
自己紹介
• Zope3の開発
• Python
• いくつかの本
• バックグラウンドは宇宙物理学
• 大規模データ統計解析,科学計算
日本の経済・社会統計の現状
7
データのライフサイクル
• データ収集から意思決定まで
• データ収集から集計:マシンとしての行政機関
• 集計済みデータはオープンデータに
e-Stat
e-Stat: 検索…
e-Stat: ブラウズ…
e-Stat: Excelファイルサーバ…
時系列…
項目変更…
機械可読でない…
e-Stat API
e-Stat API: コード
e-Stat API = RDBダンプ…
e-Stat: 重要統計が抜けている
日本の経済・社会統計の現状
• 重要経済・社会統計はほぼオープンデータ
• 各行政機関のデータの出し方は雑多
• Excel/PDFというクローズな公開形式
• 機械で読むのが困難なゴミにあふれている
• APIがおかしい
• 重要統計が一カ所...
データプラットフォームが必要
21
データプラットフォーム
• 多様な場所へデータを取得するロボット
• Excel/PDFなどのオープンでないデータに対応
• データを時系列として首尾一貫した形式
• スケーラブルなデータストア
• 容易なデータ探索・即可視化ができるインタ
フ...
デモ
23
時系列データの可視化
• 属性選択で可視化
• グラフと数値テーブルの連動
• グラフの自在なズーム・パン
• 単位の異なる・データソースの違うデータ
日本の主要経済統計を網羅
• 17機関,31種類,細目で86個から103個
• 公表と同時に取得
• EXCELやPDFにも対応
• 経済統計以外にも
根拠の確認ツール
• メディア,研究者のコメント表示
• 根拠の確認ツールとしての役割
長期間の時系列は重要
• 参照点から異常の程度を探ることができる
• 経済・社会の秩序回復・ホメオタシスの感覚
どうやって実現するか
スケジューラー
• Google Calendar + Tornadoサーバ
ロボットのタスク分散
• rqを使ってジョブキューでタスク分散
ロボットのスクレイピング
• BeautifulSoup, lxmlによるスクレイピング
ExcelやPDFのパージング
• python-excel, pypdf, pandas read_excel()
首尾一貫した形式で整形
• 一旦Pandasのデータフレームに投入
• タテをヨコに,整形,単位・オーダ え
スケーラブルなデータストア
• 要件:全文検索,スケーラブル,可用性
• Elasticsearch
RESTサーバ
• Tornadoを利用した非同期サーバ
マイクロサービス構造
• まとまりごとに小さなサーバとして分離
• サーバプロセスはsupervisorで管理
• zmqを用いて非同期メッセージング
• 負荷のかかるところは並列化
サービスオペレーション
• Saltstack+Jenkinsを利用したデプロイ
• 監視はZabbix
Pythonによるレバレッジ!
supervisor
http://socio.bakfoo.com/
socio@bakfoo.com
Closed Beta
PyConJPの運営の皆様
有り難うございました
Upcoming SlideShare
Loading in...5
×

日本のオープンデータプラットフォームをPythonでつくる

101

Published on

アブストラクト
https://pycon.jp/2015/ja/schedule/presentation/53/

公演ビデオ
https://youtu.be/7SNVx3YzY5E?t=1166

Published in: Software
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
101
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

日本のオープンデータプラットフォームをPythonでつくる

  1. 1. 日本の オープンデータ プラットフォームを Pythonでつくる 2015-10-10 @PyConJP
  2. 2. 今日の内容 • 自己紹介 • 動機:日本の経済・社会統計の現状 • 問題解決:オープンデータプラットフォーム • 実現方法:プラットフォームの実装
  3. 3. 自己紹介 3
  4. 4. 自己紹介 • バクフー株式会社 代表取締役 柏野 雄太 (かしの ゆうた) • 大規模リアルタイムデータのデータプラットフォーム • PPPP preprocess /process /persistence /providing
  5. 5. 自己紹介 • 大規模リアルタイムのデータプラットフォーム リアルタイムデータ 処理 process ストア persistence API, 検索 ストリーミング API, 検索 可視化 通知 API, 検索 可視化 API, 検索 ストリーミング ES/S3 ES/S3 ES/S3 ES/Solr/ mongoDB 経済データ 異常値検知整形 混雑データ 分類変換 気象データ 分類/異常値検知変換 自然言語処理/センチメント解析整形twitter 前処理 preprocess 提供 providing
  6. 6. 自己紹介 • Zope3の開発 • Python • いくつかの本 • バックグラウンドは宇宙物理学 • 大規模データ統計解析,科学計算
  7. 7. 日本の経済・社会統計の現状 7
  8. 8. データのライフサイクル • データ収集から意思決定まで • データ収集から集計:マシンとしての行政機関 • 集計済みデータはオープンデータに
  9. 9. e-Stat
  10. 10. e-Stat: 検索…
  11. 11. e-Stat: ブラウズ…
  12. 12. e-Stat: Excelファイルサーバ…
  13. 13. 時系列…
  14. 14. 項目変更…
  15. 15. 機械可読でない…
  16. 16. e-Stat API
  17. 17. e-Stat API: コード
  18. 18. e-Stat API = RDBダンプ…
  19. 19. e-Stat: 重要統計が抜けている
  20. 20. 日本の経済・社会統計の現状 • 重要経済・社会統計はほぼオープンデータ • 各行政機関のデータの出し方は雑多 • Excel/PDFというクローズな公開形式 • 機械で読むのが困難なゴミにあふれている • APIがおかしい • 重要統計が一カ所にない
  21. 21. データプラットフォームが必要 21
  22. 22. データプラットフォーム • 多様な場所へデータを取得するロボット • Excel/PDFなどのオープンでないデータに対応 • データを時系列として首尾一貫した形式 • スケーラブルなデータストア • 容易なデータ探索・即可視化ができるインタ フェース • 正しいRESTで機械可読を容易に
  23. 23. デモ 23
  24. 24. 時系列データの可視化 • 属性選択で可視化 • グラフと数値テーブルの連動 • グラフの自在なズーム・パン • 単位の異なる・データソースの違うデータ
  25. 25. 日本の主要経済統計を網羅 • 17機関,31種類,細目で86個から103個 • 公表と同時に取得 • EXCELやPDFにも対応 • 経済統計以外にも
  26. 26. 根拠の確認ツール • メディア,研究者のコメント表示 • 根拠の確認ツールとしての役割
  27. 27. 長期間の時系列は重要 • 参照点から異常の程度を探ることができる • 経済・社会の秩序回復・ホメオタシスの感覚
  28. 28. どうやって実現するか
  29. 29. スケジューラー • Google Calendar + Tornadoサーバ
  30. 30. ロボットのタスク分散 • rqを使ってジョブキューでタスク分散
  31. 31. ロボットのスクレイピング • BeautifulSoup, lxmlによるスクレイピング
  32. 32. ExcelやPDFのパージング • python-excel, pypdf, pandas read_excel()
  33. 33. 首尾一貫した形式で整形 • 一旦Pandasのデータフレームに投入 • タテをヨコに,整形,単位・オーダ え
  34. 34. スケーラブルなデータストア • 要件:全文検索,スケーラブル,可用性 • Elasticsearch
  35. 35. RESTサーバ • Tornadoを利用した非同期サーバ
  36. 36. マイクロサービス構造 • まとまりごとに小さなサーバとして分離 • サーバプロセスはsupervisorで管理 • zmqを用いて非同期メッセージング • 負荷のかかるところは並列化
  37. 37. サービスオペレーション • Saltstack+Jenkinsを利用したデプロイ • 監視はZabbix
  38. 38. Pythonによるレバレッジ! supervisor
  39. 39. http://socio.bakfoo.com/ socio@bakfoo.com Closed Beta PyConJPの運営の皆様 有り難うございました
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×