Paxataブログ

Paxataブログ>オープンデータを活用しよう!REST APIを使ってデータ取得と更新を自動化

  • ビッグデータ/分析のデータプレップ
2020.02.04

オープンデータを活用しよう!REST APIを使ってデータ取得と更新を自動化

【目次】
 ▶オープンデータとは?代表的なサイトもご紹介
 ▶オープンデータの活用を阻む壁- 手作業ダウンロードによる負荷
 ▶オープンデータをREST APIでダウンロードする(Paxataの方法)
 ▶オープンデータ活用のまとめ


オープンデータの活用が注目されていますね。みなさまの部門や組織でも、オープンデータをビジネスにどう活かせるのか、オープンデータの活用/推進について議論や試行錯誤が始まっているのではないでしょうか?

オープンデータは広く公開されアクセスしやすいデータですが、そのデータを継続的に使っていくためには、入手方法と加工、更新方法に工夫が必要とされます。

今回の記事では、オープンデータの活用を促進する取組みとして、
REST API経由でオープンデータを取得し、そのまま加工整形するという作業を自動化する方法をご紹介します!


オープンデータとは? 代表的なサイトもご紹介


オープンデータとは、政府や自治体などの行政機関や企業などが保有するデータで、
誰もが二次利用できるようにWebサイトなどで公開されているデータのことです。

■オープンデータの代表的な例

  • data.go.jp(データカタログサイト)

内閣官房情報通信技術(IT)総合戦略室による企画/立案のもと、総務省行政管理局が運用するオープンデータに係る情報ポータルサイトです。多数の省庁のデータが公開されています。

  • 総務省:e-Stat

各府省等が実施している統計調査の各種情報をワンストップで提供するサービス。過去複数年の国勢調査などの各種統計情報が取得可能です。

  • 気象庁

気象庁のWebサイト。1976年以降の日別の気象データの検索、ダウンロードが可能です。

オープンデータを利用したいと思ったら、まず使いたいデータを探すわけですが、
最初にオープンデータを公開しているサイトにアクセスし、つづいてメニューやカテゴリを選び...と
なかなか目的のデータにたどり着くには手間がかかる作業でした。

しかし、2018年にオープンデータの検索に特化したGoogleのサービス「Google DataSet Search」が提供されたことにより変化が起きました。
日本語のキーワード検索にも対応したオープンデータの公開サイトも増えはじめており
今後は利用したいデータによりたどり着きやすくなることが考えられます。

▶Google Dataset Search
  https://toolbox.google.com/datasetsearch


オープンデータの活用を阻む - 手作業ダウンロードによる負荷


オープンデータはWebサイトから誰でも手軽にダウンロードすることが可能です。
しかし手軽にデータの取得ができる反面、下記のような課題も挙げられます。

  • 定期的なデータの取得が必要
    統計情報が月次や日次で更新されている場合、最新の情報を取得するには定期的にデータの取得を行う必要があります。
  • データの加工、統合が必要
    オープンデータはクロス集計のフォーマットでデータが公開されていたり、特定のキー項目で絞り込み条件が設定され個別にダウンロードされた結果となっているケースがあります。
    この場合、新しいデータが発生するたびにデータの変換、整形を行わなければなりません。

例として、e-Statで公開されている労働者人口の推移を調べるために、「労働力調査(就業状態別15歳以上人口(2000年1月~))」のデータを対象にどのような手順が必要になるのか見ていきましょう。


例:e-Statから労働力調査のデータをダウンロードする場合

今回対象とするデータは、下記の画面のように、ファイル形式でのダウンロードが提供されていません。そのためWebサイトからダウンロードするか、REST APIを使用してダウンロードするかのどちらかになります。

データセット情報

「DB」を選択すると、ダウンロードページが表示されます。

統計表グラフ表示

「ダウンロード」ボタンをクリックすると、ダウンロードされるデータのオプション(ファイル形式、ヘッダや注釈の有無など)を指定することができます。ダウンロードされるデータは以下のようになります。

ダウンロードデータのイメージ

このデータの中で、性別に注目してみましょう。

性別に関連する項目は、「総数」「男」「女」で列が分かれているため、たとえば「性別」という新しい列を用意することで男女で絞り込みが可能になります。しかし、そのデータを作るためには、現在のようなクロス集計形式のデータからテーブル形式への変換処理が必要となり、データにひと手間加えなければなりません。

このようにオープンデータを分析に利用するには、事前の加工の作業が発生します。しかも、加工作業は1回実施すればよいということではなく、新たなデータが発生するたびに繰り返し実施しなくてはいけません。毎月新しいデータが公開される場合には、データが追加されるたびに毎月ダウンロードの操作を実施する必要があります。


オープンデータをREST APIでダウンロードする(Paxataの方法)


手動でのダウンロードに対して、REST APIを使った方法について解説します。

REST APIの形式で公開されているデータは、直接Webサイトからデータを取得することが可能です。

ここからは、データプレップ製品の「Paxata(パクサタ)」を使用して、REST APIでデータを取得し、そのままPaxataで加工する方法をご紹介していきます。

データの取得から整形、加工までを自動化できるので、定期的な集計や分析、統計をされている方にはとても便利な方法です。

REST APIでデータを取得するための準備

1.まずは取得先側での事前準備

上の例でも取り上げたe-Statの労働力調査のデータをサンプルに、PaxataからREST APIで取得する手順をご紹介します。

e-StatからREST API経由でデータを取得する場合には、事前にユーザ登録した上で、マイページよりアプリケーションIDを取得しておく必要があります。

e-Statユーザー登録イメージ

e-Statでのユーザ登録、アプリケーションIDの取得に関する詳細は、e-Statサイト内のヘルプをご参照ください。

2.リクエストするURLを確認

REST API経由でデータを取得するためのURLを取得します。e-Statでは、「API」のアイコンがあるデータをREST API経由で取得できます。

データセット一覧

「API」ボタンをクリックすると、該当のデータを取得するのに必要なURLが表示されます。

データセット一覧2

「クエリー」内に表示されたURLの「appId=」にマイページで取得したアプリケーションIDを記述します。

3.コネクターの作成

Paxataで外部のデータソースからデータの取得を行う場合には、最初に「コネクター」を作成する必要があります。コネクターの作成は、管理者権限を持ったユーザでのみ実施が可能です。

管理者でのREST API用コネクター作成画面です。管理者側では、「コネクタータイプ」に「REST API」を選択し、「Proxy Configuration」で共通設定をしていきます。

  • Paxataのバージョンは、2018.2を使用しています。

Paxata画面イメージ

REST APIでの接続設定は「データソース」側で指定しますので、今回はすべて空白にします。

Paxata画面イメージ

作成したコネクターについて、利用可能なユーザーのグループを選択し、読み取り権限を付与します。

Paxata画面イメージ

4.データソースの作成

コネクターが作成されたら、コネクターを使用して元データへアクセスする「データソース」を作成します。データソースの作成はライブラリから行います。

データソース1

REST API Configurationにデータの取得先のサービスのURLと引数となるパラメータを入力します。

今回のe-Statの場合、「http://api.e-stat.go.jp/rest」までがBASE URL、それ以降がRESOURCESとなります。RESOURCEではURLの残りの先頭に「表示名:」をつけることで、テーブル名として認識がされます。今回は「労働力調査1-1-1:」を使用しています。

データソース2

※e-Statの統計データはバージョン2.1のAPI仕様よりXML、JSON、CSVでデータの取得が可能です。今回はCSVでデータの取得を実施します。

5.データセットのインポート

データソースを作成したら、いよいよデータソースからデータセットをインポートします。データセットの追加から、作成したデータセットを選択します。

データセット選択1

選択されたデータセットのプレビュー画面が表示されます。今回のREST APIで指定したURLでは、CSVデータにヘッダ情報を含む形式としていました。データの中身をプレビューで確認し、Paxata側で取得が不要な行を削除していきます。

データセット選択2

「ヘッダーの前の行を破棄する」を使用し、27行目までを破棄する指定を行いました。

データセット選択3

不要なカラムを削除する設定も追加します。「カラムの編集」ボタンから、使用しないカラムのチェックを外します。

データセット選択4

編集後のデータをプレビューで確認し、「終了」ボタンをクリックしてデータセットをインポートします。

データセット選択5

データのインポートが実施され、データセットが作成されます。

データセット

ここまで、データの取得から加工までの手順をご紹介してきましたが、この手順はPaxataでそのまま記録し、以降の処理を自動化することができます。

下記の画面のように、このデータセットに対してスケジュールを設定し、e-Stat側でデータが更新されるタイミングを指定して自動化の設定をすることで、Paxata側でデータの更新を定期的に実施し、データを最新の状態に保てるようになります。

データセット

データセット

※自動化の機能を利用するにはAutomationのロールが割り当てられている必要があります。


まとめ


いかがでしたでしょうか。

インポート時の設定で加工しきれないデータレイアウトの場合は、プロジェクトを作成し、REST API経由で取得したデータを加工する処理を追加することも可能です。

また、インポートされたデータを任意のデータソースに対してエクスポートすることで、別のシステムでも活用することが可能になります。


今回はオープンデータを対象に、PaxataからREST APIを使ったデータのインポートをご紹介しましたが、REST API経由でデータの取得が可能なサービスは他にもたくさん存在しています。

今回の例で取り上げたe-Statもそうですが、データを提供するサービス側でAPIで指定されるパラメータのルールが公開されています。

データの取得時にどのような設計がされているのか確認する必要がありますが、定期的な手動でのデータのダウンロードや加工が不要になることを考えると、トライしてみる価値がある操作だと思います!

  • REST APIを使用したデータの取得はPaxataのサブスクリプションライセンスでのみ利用可能な機能です。「Paxata Cloud Powered By アシスト」を利用されているお客様は利用することができませんのでご了承ください。

オープンデータ活用事例【トヨタテクニカルディベロップメント株式会社】

機械学習のデータ準備にPaxata!
自動車産業の知財事業を 最新アナリティクスで支援、オープンデータの収益化を実現


データ・プレパレーション活用事例集

機械学習やデジタルマーケティングなどの先進分野へのチャレンジから、業務オペレーションの改革まで、幅広い取り組みをされている11社の事例をご紹介しています。

ぜひダウンロードしてご活用ください!



※参考サイト情報


この記事をかいた人

山口 晃司

BI製品のサポート、フィールドエンジニアを経てPaxataのフィールドエンジニアを担当。

山口さん

関連している記事

  • ビッグデータ/分析のデータプレップ
2019.09.06

センサーデータの前処理ってどうする?大容量、JSON、縦横変換の課題を解決

IoT化の進展とともに、センサーデータの活用が目指されています。しかし、いざセンサーデータを扱おうとすると、そこには大きな壁が立ちはだかります。この記事では、大容量、JSON、縦横変換の3つのポイントからセンサーデータを簡単に扱う方法をご紹介します。

  • ビッグデータ/分析のデータプレップ
2019.08.01

Tableauをもっと活用するためのデータプレップ

Tableauでのデータ分析に欠かせないのが、分析をスタートする前のデータプレップです。もっと早く、もっと簡単にTableauの分析データを準備する方法についてご紹介します。

ページの先頭へ戻る