DataBaseにレプリケートして分析するアプローチを紹介しました。DataBaseにレプリケートする方法を紹介しようと思います。簡単に作成するサーバー製品です。DataBaseにレプリケートするというアプローチも可能になりました。リツイートデータです。中身は以下のような構造体になっていて、ネスト構造がなかなか深い、解析しづらいJSONではないかなと思います。いったお話も交えていました。使うと、以下のように自動的にスキーマ構造を読み取り、テーブル化してくれるので、この記事ではこれといって特に難しい操作や設定は要求されません。格納された状態になります。トライアル版が提供されています。アカウントは12ヶ月無料のトライアルアカウントがあります。https://azure.microsoft.com/ja-jp/free/レプリケート手順それでは実際にレプリケートを行っていきます。任意の構成でデータベースを作成します。ちなみに価格レベル次第でレプリケート速度が変わるので、データ量や同期頻度を考慮しながら設定するとよいでしょう。構成したら、サーバー側のファイアウォール設定で接続元のIPアドレスを許可します。Syncを入れるので、そのマシンから接続する際のIPアドレスを許可します。対象のデータベース管理画面から「サーバーファイアウォール設定」をクリックし「+クライアントIPの追加」で、現在接続しているIPアドレスを自動的に登録し、「保存」を押します。Database側の設定は完了です。Syncをインストールします。版があるので、任意のプラットフォームを選択して、ダウンロードを行います。ダウンロードできたインストーラーを立ち上げると、セットアップウィザードが表示されるので、画面に従ってセットアップを実施します。インストールが完了したら、次に対象のデータソースコネクタをインストールします。serviceのところからダウンロードをクリックhttps://www.cdata.com/sync/download/#sources同じようにセットアップを実施します。インストールが完了すると、以下のようにログイン画面が表示されるので、設定したID・PWでログインを実施します。この画面から各種設定を実施していきます。データソースの設定(JSON)それでは最初にデータソース側の設定を行います。ナビゲーションメニューから「接続」→「データソース」を選択し、表示されているデータソース一覧の中から「JSON」のデータソースを選択します。接続するための各種設定を実施します。今回必要な設定は以下のようになります。Relationalポイントは「Advanced」のURIとDataModelです。URIではJSONが格納されたフォルダパスを指定します。することで、複数のJSONファイルを読み取ることが可能になります。Modelは「Document」「Relational」「FlattenedDocuments」の3種類から選択できますが、今回はリレーショナルな形でデータを取り出したいと考えているので、「Relational」を選択します。各モデルの詳しい機能は以下のQiita記事にまとめているので、もし詳細を知りたい方はこちらを参照してみてください。qiita.comあとは、「接続」ボタンをクリックして、接続検証を実施し、「Success」が表示されればOKです。「変更を保存」してデータソースの設定は完了になります。DataBase)次に同期先の設定を行います。Databae」を選択します。先程のデータソースの接続先と同じように接続情報を入力します。SAユーザーのPW同じように接続テストを実施して、接続が確立できれば設定完了です。「変更を保存」して設定を終了します。ジョブの設定それでは最後にデータソースと同期先の設定を元に、どのテーブルをどのように同期するのか?といった設定となるジョブを追加します。ナビゲーションメニューから「ジョブ」を選択し「ジョブを追加」をクリックします。データソースと同期先の構成ジョブの作成画面に移動後、まずソースと同期先の設定を確認します。複数ソース、複数同期先を登録している場合は、ここで対象となるものをそれぞれ指定します。続いてデータソースから同期したいテーブルを選択します。「+テーブルを追加」をクリックしテーブルの一覧が表示されるので、ここから任意のテーブルを選択します。データですが、すでにここでもととなるJSONデータからスキーマが自動的に識別され、テーブル構造として提供されているのがわかるかと思います。データは大本のオブジェクトが「results」になっているので、今回はこの「results」テーブルを選択して、同期します。次に同期するカラムの構成を確認します。追加したテーブル設定の横に「変換」のボタンが表示されるので、このボタンをクリックします。この画面からレプリケートするカラムの取捨選択や、レプリケートするデータのフィルタリング設定を行うことが可能です。今回は特に設定を変更しませんが、不要なカラムはここで除外しておくと、後々BIツールなどで分析する際に楽になるのではないかと思います。スケジュールを構成して同期することも可能です。レプリケートでよく発生するエラーハンドリングやアプローチの設定を変更することができます。文字列の自動切り捨てなどはJSONのオブジェクトが想定以上に長い場合などに、エラーで終了せず切り捨て登録などをしてくれるものになるので、対象のデータベースの設定次第ではチェックを入れていいと思います。実行と結果確認すべての設定が完了したら、実行してみましょう。一度「変更を保存」をクリックします。今回は手動で実行するため、対象となるテーブルを選択し「実行」ボタンをクリックするだけです。実行すると、以下のようにステータスが「Runninng」となり成功すれば、以下のように処理された件数が表示されます。databaseにアクセスしてみると、以下のようにデータが取り込まれていることが確認できます。終わりにいかがでしたでしょうか。使うことで、特に難しい設定もなく、JSONデータがRDBに取り込めます。MongoDBにもレプリケートすることが可能なので、是非いろいろと試してみてください。(翻訳)Twitter@sugimomotoさんのツイートはてなブログをはじめよう!sugimomotoさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。