Spotfire Server から Kafka データOperational レポーティングを作成

古川えりか
古川えりか
コンテンツスペシャリスト
Create and share Spotfire data visualizations を使って、リモートKafka のデータ にリアルタイム接続のdata visualization を作成して共有。

CData JDBC Driver for ApacheKafka をJava reporting server にドロップイン インストールすると、エンタープライズな帳票ソリューションからKafka へのリアルタイムなデータ連携が可能になります。この記事では、データソーステンプレートを使ってSpotfire ライブラリを拡張しリモートKafka を連携可能にします。そうすると、Kafka へのあらゆる変更を反映するリアルタイムビジュアライゼーションの作成および共有ができます。

JDBC データソースとしてKafka に接続

CData JDBC Driver for ApacheKafka をSpotfire Server にインストールするには、driver JAR をクラスパスにドロップして、ここではデータソーステンプレートを使います。

  1. ドライバーをSpotfire Server のクラスパスに追加するには、インストールフォルダの[lib]サブフォルダからSpotfire Server インストレーションの[lib]サブフォルダにdriver JAR をコピーします。例:MySpotfireServerHomeDirectory/tomcat/lib

    Note:.lic ファイルはJAR と同じフォルダに配置される必要があります。

  2. [TIBCO Spotfire Server Configuration Tool]で[Configuration]タブをクリックし、[Configuration Start]ノードのデータソーステンプレートを選択します。
  3. 以下を使って新しいデータソーステンプレートを作成します:

    
    <jdbc-type-settings>
      <type-name>apachekafka</type-name>
      <driver>cdata.jdbc.apachekafka.ApacheKafkaDriver</driver>
      <connection-url-pattern>jdbc:apachekafka:</connection-url-pattern>
      <ping-command>SELECT * FROM Projects LIMIT 1</ping-command>
      <connection-properties>
        <connection-property>
          <key>User</key>
          <value>admin</value>
        </connection-property>
        <connection-property>
          <key>Password</key>
          <value>pass</value>
        </connection-property>
        <connection-property>
          <key>BootStrapServers</key>
          <value>https://localhost:9091</value>
        </connection-property>
        <connection-property>
          <key>Topic</key>
          <value>MyTopic</value>
        </connection-property>
      </connection-properties>
      <fetch-size>10000</fetch-size>
      <batch-size>100</batch-size>
      <max-column-name-length>32</max-column-name-length>
      <table-types>TABLE, VIEW</table-types>
      <supports-catalogs>true</supports-catalogs>
      <supports-schemas>true</supports-schemas>
      <supports-procedures>false</supports-procedures>
      <supports-distinct>true</supports-distinct>
      <supports-order-by>true</supports-order-by>
      <column-name-pattern>"$$name$$"</column-name-pattern>
      <table-name-pattern>"$$name$$"</table-name-pattern>
      <schema-name-pattern>"$$name$$"</schema-name-pattern>
      <catalog-name-pattern>"$$name$$"</catalog-name-pattern>
      <procedure-name-pattern>"$$name$$"</procedure-name-pattern>
      <column-alias-pattern>"$$name$$"</column-alias-pattern>
      <string-literal-quote>'</string-literal-quote>
      <max-in-clause-size>1000</max-in-clause-size>
      <condition-list-threshold>10000</condition-list-threshold>
      <expand-in-clause>false</expand-in-clause>
      <table-expression-pattern>[$$catalog$$.][$$schema$$.]$$table$$</table-expression-pattern>
      <procedure-expression-pattern>[$$catalog$$.][$$schema$$.]$$procedure$$</procedure-expression-pattern>
      <procedure-table-jdbc-type>0</procedure-table-jdbc-type>
      <procedure-table-type-name></procedure-table-type-name>
      <date-format-expression>$$value$$</date-format-expression>
      <date-literal-format-expression>'$$value$$'</date-literal-format-expression>
      <time-format-expression>$$value$$</time-format-expression>
      <time-literal-format-expression>'$$value$$'</time-literal-format-expression>
      <date-time-format-expression>$$value$$</date-time-format-expression>
      <date-time-literal-format-expression>'$$value$$'</date-time-literal-format-expression>
      <java-to-sql-type-conversions>VARCHAR($$value$$) VARCHAR(255) INTEGER BIGINT REAL DOUBLE PRECISION DATE TIME TIMESTAMP</java-to-sql-type-conversions>
      <temp-table-name-pattern>$$name$$#TEMP</temp-table-name-pattern>
      <create-temp-table-command>CREATE TABLE $$name$$#TEMP $$column_list$$</create-temp-table-command>
      <drop-temp-table-command>DROP TABLE $$name$$#TEMP</drop-temp-table-command>
      <data-source-authentication>false</data-source-authentication>
      <lob-threshold>-1</lob-threshold>
      <use-ansii-style-outer-join>false</use-ansii-style-outer-join>
      <credentials-timeout>86400</credentials-timeout>
    </jdbc-type-settings>
    
  4. Spotfire Server service を再起動します。

ドライバーが標準SQL をサポートしているため、Spotfire Platform の使い慣れたインターフェースにKafka へのリアルタイム連携を統合します。Spotfire Professional 、およびJaspersoft Studio を含むその他のアプリケーションからKafka にデータ連携するには、[Information Designer]でinformation linkを作成します。

カラムやフィルターを選択するごとに、Spotfire Server はinformation link下のSQL クエリをビルドします。[Open Data]をクリックしてSpotfire にデータをロードします。

これで帳票の作成者は、Spotfire データテーブルに基づいてKafka ビジュアライゼーションをビルドできます。SQL クエリを書く必要はありません。帳票のビューアは、正確で最新のKafka を連携取得することができます。

はじめる準備はできましたか?

Apache Kafka Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Apache Kafka Icon Apache Kafka JDBC Driver お問い合わせ

Apache Kafka データに連携するJava アプリケーションを素早く、簡単に開発できる便利なドライバー。