search
LoginSignup
5

More than 5 years have passed since last update.

posted at

PDIからKdb+へ接続する

はじめに

PentahoのETLツールであるPDIでKdb+へ接続できるかの検証メモです。
Kdb+はカラム型の時系列DBのようです。今回の趣旨はPDIからKdb+へ接続できるかなので、Kdb+がどういったものかは調べてません。
https://en.wikipedia.org/wiki/Kdb%2B

Kdb+のインストールと起動

インストール

まず、無料版のKdb+のダウンロードします。
http://kx.com/download
pdi_kdb_download.png
Email、各チェックボックスにチェックを入れて、ページ下部のダウンロードしたいOSをClickします。
Zipファイルがダウンロードできるので、解凍してどこかのディレクトリに置いておきます。
ここでは、Windows版をダウンロードして、C:\test\配下に解凍してできた"q"ディレクトリを置くことにしました。

環境設定

次に、変数を設定しておきます。コマンドプロンプトを起動して以下のように設定。

C:\>setx QHOME "C:\test\q"
C:\>setx PATH "%PATH%;C:\test\q\w32"
C:\>exit

Kdb+の起動

Kdb+を起動します。コマンドプロンプトを起動して"q -p 5000"として実行。

C:\> q -p 5000
KDB+ 3.5 2017.05.02 Copyright (C) 1993-2017 Kx Systems
w32/ 2()core 4095MB michi kdbdemo 10.128.0.2 NONEXPIRE

Welcome to kdb+ 32bit edition
For support please see http://groups.google.com/d/forum/personal-kdbplus
Tutorials can be found at http://code.kx.com/wiki/Tutorials
To exit, type \\
To remove this startup msg, edit q.q
q)

テーブルの作成

Kdb+を起動した状態で、テーブルを作成します。

q) family:([]name:`John`Mary`David; age:52 49 18; hair:`brown`black`blonde; eyes:`blue`brown`blue)

確認。

q) family
name  age hair   eyes
----------------------
John  52  brown  blue
Mary  49  black  brown
David 18  blonde blue
q)
q) select name,age from family
name  age
---------
John  52
Mary  49
David 18
q)

ブラウザからも確認しておきます。
http://localhost:5000
pdi_kdb_check.png

PDIのダウンロードとインストール

こちらを参照に、ダウンロードとインストールをしておきます。

Kdb+のJDBCドライバーのインストール

以下よりダウンロードします。
https://github.com/KxSystems/kdb/blob/master/c/jdbc.jar

ダウンロードしたjarファイルを以下の場所に配置します。

data-integration/lib/配下

PDIからKdb+へ接続

接続設定

PDI(Spoon)を起動して「テーブル入力(Table Input)」ステップを置いて、ステップをダブルクリックして設定画面を表示します。
pdi_kdb_tableinput.png

「データソース名」の横の方にある「新規作成」ボタンを押してデータソース接続の設定画面を表示し、設定を行ないます。
pdi_kdb_conn.png

接続名:kdb
接続タイプ:Generic database
カスタム接続URL:jdbc:q:localhost:5000
カスタムドライバークラス名:jdbc
ユーザ名:OSユーザ名
パスワード:OSユーザのパスワード

確認

SQLステートメントを以下のようにしてプレビューで確認します。

family

pdi_kdb_table_check1.png



別のクエリでプレビュー確認します。

select name,age from family

pdi_kdb_table_check2.png



以上で、接続できました!

参考

http://code.kx.com/wiki/Tutorials
https://groups.google.com/d/forum/personal-kdbplus

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5