M12i.

学術書・マンガ・アニメ・映画の消費活動とプログラミングについて

Pentaho SpoonでH2データベース接続を追加する

一度分かってしまえば大したことではないのですが、そこに至るまでに時間を要してしまったので、ここにメモしておきます。

H2データベースはJavaで実装された組み込み用途向けのデータベースです*1。このH2を利用することで、過去に変換(Transformation)を実行した際の情報を登録/参照したり、他のデータソースの情報をいったんH2に投入してSQLを使った加工を施しり、・・・というのが今回の目的です。

  1. [ビュー]タブの[データベース接続]を右クリック→[新規]をクリックで[データベース接続]の設定画面を表示
  2. [接続名]には例によって適当な名前を入力
  3. [接続タイプ]では「Generic Database」を選択(これが重要)
  4. [アクセス]はデフォルトの「Native(JDBC)」のまま
  5. [Custom Connection URL]には「jdbc:h2:(H2の組み込みDBファイルのパス)」を入力
  6. [Custom Driver Class Name]には「org.h2.Driver」を入力
  7. [ユーザ名]には「sa」を入力
  8. [パスワード]は空欄のまま

f:id:m12i:20150412084109p:plain

以上で設定は終わりです。

[Custom Connection URL]欄で指定したDBファイルはもし存在しなければ自動で作成されます。また「スキーマがあるかどうか分からない」「テーブルがあるかどうか分からない」といった状態でも適切に機能するようH2ではDDLに「if exists」や「if not exists」といったオプションが用意されています(H2で使用できるDDL構文についてはこちらを参照)。したがって、Transformationの本処理の前段に必要なスキーマやテーブルの初期化(DROPとCREATE)を行う処理を入れておけばよいわけです。

*1:サーバ/クライアント型の利用もできるのですが、これはようするにH2データベースを組み込みデータベースとして利用してリクエストを処理するサーバプロセスを稼働させるというもののようです。つまり見た目はどうあれ結局は組み込みデータベースなのです。