本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →MathWorks 社のMATLAB は、高度なデータ解析、アルゴリズム開発、モデル作成などを手軽に実施できるツールとして多くの数学者、科学者、技術者に愛用されています。 本記事では、MATLAB からJSON データをノンコーディングで利用する方法を説明します。 JSON データをMATLAB から利用できるように、CData ODBC Driver でJSON データをテーブルデータにモデル化して、MATLAB が生成する標準SQL でのフィルタリングやJOIN を利用できるようにしています。
ODBC 接続プロパティの指定がまだの場合は、DSN (データソース名)で接続設定を行います。 Microsoft ODBC データソースアドミニストレーターを使ってODBC DSN を作成および設定できます。 ODBC ドライバーのインストール完了時にODBC DSN 設定画面が立ち上がります。 Microsoft ODBC データソースアドミニストレーターを開いて設定を行うことも可能です。 必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。
Microsoft ODBC データソースアドミニストレーターで必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。
データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。本製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。
URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。
DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。
リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。
URI をバケット内のJSON ドキュメントに設定します。さらに、次のプロパティを設定して認証します。
URI をJSON ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。
URI をJSON ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。 URI=dropbox://folder1/file.json; InitiateOAuth=GETANDREFRESH; OAuthClientId=oauthclientid1; OAuthClientSecret=oauthcliensecret1; CallbackUrl=http://localhost:12345;
URI をJSON ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。
URI をJSON ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。
URI をJSON ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。
デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。
「アプリ」⇒「Database Explorer」を選択します。
「New Query」をクリックして、データソース接続画面で、「Data Source」をドロップダウンすると、事前に設定したODBC DSN が表示されます。これらからJSON のものを選択します。Username、Password は入力不要です。
CData ODBC Driver により、データはスキーマの付いたテーブルデータにモデル化されており、左ペインの[データブラウザー]にRDB のように表示されます。
ここから利用するデータを選択すると、自動的にSELECT クエリが生成され、プレビューが実行されます。
MATLAB で生成されているSQL がODBC Driver 経由でParse されて、リアルタイムで元のデータソースのAPI を叩きに行っています。
MATLAB では、SQL クエリが分からないユーザーでも、フィルタリング、ソートなどができるようなUI が用意されています。
フィルタリングであれば、「Where」、ソートであれば「Order By」のアイコンからSQL の知識なしに操作が可能です。「Join」も可能です。
CData ODBC Driver 経由でモデル化されたSaaS、NoSQL データにも、MATLAB のUI からのフィルタリングやソートが利用可能です。
「DATABASE EXPLORER」の「Where」アイコンをクリックします。
Column でフィルタリングする項目を選択、Operator で演算子を選択、Value にフィルタリングをする値を直接入力します。
「Add Filter」ボタンを押すと、フィルタリングのSQL が生成され、プレビューのデータがフィルタリングされます。
もし、フィルタリングを変更する場合には、変更して「Update Filter」をクリック。また複数のフィルタリングを設定することができます。
同様に、ソートを行うには、「Order By」アイコンを押し、並び替え項目を選択し、昇順・降順を指定するとSQL が生成されます。
データの整形が終わったら、データをData Explorer からMATLAB のワークスペースにインポートします。
このように、CData ODBC Drivers と併用することで、100を超えるSaaS、NoSQL データをRDB データのようにMATLAB からコーディングなしで扱うことができます。 CSV インポートと違い、リアルタイムODBC 連携なので、データソースをリフレッシュするだけで、繰り返し作業なく最新データへの更新も可能です。