3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PDIからKdb+へ接続する

Posted at

はじめに

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

3
5
0

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
  3. You can use dark theme
What you can do with signing up
3
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?