KNIME でJSON のJDBC ドライバーを有効にする

Ready to get started?

Download for a free trial:

Download Now

Learn more:

JSON JDBC Driver

JSON Web サービス連携のパワフルなJava アプリケーションを素早く作成して配布。



KNIME の標準データアクセスコンポーネントを使用してJSON でチャートとレポートを作成します。

CData JDBC Driver for JSON の強みの一つは、クロスプラットフォームのサポートであり、主要なBI ツールとの統合を可能にします。以下のステップに従って、KNIME のJSON にアクセスし、レポートデザイナを使用してJSON からチャートを作成します。

CData JDBC Driver for JSON を使用することで、JDBC データソースとしてJSON にアクセスでき、IDE の迅速な開発ツールとの統合が可能になります。この記事では、データソース構成ウィザードを使用してIntelliJ のJSON に接続する方法を示します。

※製品について詳しい情報をご希望の方は以下からお進みください。

JSON データへの新しいJDBC 接続を定義します。

  1. Report Designer 機能をインストールします。[File]->[Install KNIME Extensions]とクリックし、[Report]でフィルタリングします。
  2. 新しいワークフローで[File]->[Preferences]をクリックし、[KNIME]->[Databases]でノードを展開し cdata.jdbc.json.jar を追加します。
  3. ドライバーJAR は、インストールディレクトリのlib サブフォルダにあります。
  4. [Node Repository]ビューで[Database]->[Read/Write]とノードを展開し、[Database Reader]をワークフローエディターにドラッグします。
  5. [Database Reader]をダブルクリックし、次のプロパティを設定します。

    • Database Driver:メニューでドライバーの名前(cdata.jdbc.json.JSONDriver)を選択します。
    • Database URL:接続プロパティを入力します。jdbc:json: から始まり、その後にセミコロンで区切られた接続プロパティのリストが続くJDBC URL を入力します。

      データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。本製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。

      URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。

      DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。

      • Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。本製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
      • FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
      • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。

      リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。

      ビルトイン接続文字列デザイナ

      JDBC URL の構成については、JSON JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。

      java -jar cdata.jdbc.json.jar

      接続プロパティを入力し、接続文字列をクリップボードにコピーします。

      JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。

      以下は一般的なJDBC URL です。

      jdbc:json:URI=C:\people.json;DataModel=Relational;
    • User Name:認証に使用されるユーザー名
    • Password:認証に使用されるパスワード
    • SQL Statement:[SQL Statement]ボックスにSQL クエリを入力するか、テーブルをダブルクリックします。この記事では、チャートの作成に以下のクエリを用います。 SELECT [people].[personal.age] AS age, [people].[personal.gender] AS gender, [people].[personal.name.first] AS first_name, [people].[personal.name.last] AS last_name, [vehicles].[model], FROM [people] JOIN [vehicles] ON [people].[_id] = [vehicles].[people_id]
  6. [Fetch Metadata]をクリックして接続を確認します。

  7. [Database Reader]を[Data to Report]ノードに接続し、データセットを様々なデータ可視化コントロールに提供します。[Execute]をクリックし、ワークフローの上部にある[Edit Report]をクリックしてレポートデザイナパースペクティブを開きます。
  8. ライブデータに基づいてレポートを作成できます。チャートを作成するには、チャートコントロールをパレットからレポートデザイナにドラッグします。表示されるウィザードでは、KNIME で使用可能なフィルタリングおよび集約コントロールを使用できます。

トラブルシューティング

次のリストは一般的なエラーを解決する方法を示しています。

  • [Row1]という重複するIdが見つかりました。:このエラーを解決するには、KNIME インストールディレクトリにあるknime.ini ファイルに-Dknime.database.fetchsize=0を追加します。