S-JIS[2011-12-22/2017-06-03] 変更履歴

Asakusa Framework WindGate

Asakusa FrameworkのWindGateのメモ。


概要

WindGate(風門)は、AsakusaFWで外部(ローカルファイルやRDB)とデータ連携する機能。

WindGateを使うと、JDBC経由でRDBのテーブルを読み書きできる。
ただしシンプルな作りなので、速度は普通。


AsakusaFW 0.2.4では、WindGateがローカルマシン上のCSVファイルに対応した。
Asakusaアプリケーション(WindGate)を起動したマシンのローカルにあるCSVファイルを読み込んでHDFSへ書き込み、処理した結果のファイルを読み込んでローカル上にCSVファイルを作成することが出来る。[2012-01-07]

  WindGate   (AsakusaFW)
Hadoop
  WindGate  
ローカル
CSVファイル
転送・変換 HDFS
中間ファイル
バッチ処理 HDFS
中間ファイル
転送・変換 ローカル
CSVファイル

WindGateが扱うファイルはローカルファイルであり、HDFS上のCSVファイルを読み込んだり、HDFS上にCSVファイルを出力したりするわけではない。
(HDFS上のCSVファイルを読み書きしたい場合はDirect I/Oを使用する)


WindGate自体は転送(と変換)を行うだけだが、DMDLファイル上のデータモデルに@windgate.jdbcや@windgate.csvといった属性を付けることにより、WindGateを使用する為のクラスが自動生成される。
その生成されたクラスをジョブフローのImporter/Exporterとして記述することで、WindGateと連動する。


開発環境のインストール

AsakusaFW 0.6.0より前

AsakusaFW 0.6.0より前は、WindGateを使ったAsakusaアプリケーションを作成するにはMavenを使ってWindGateアーキタイプを指定する必要があった。[2014-12-13]


AsakusaFW 0.6.0以降

AsakusaFW 0.6.0以降はGradleを使うようになり、アプリケーションプロジェクトのテンプレートファイルが提供されるようになった。[2014-12-13]
テンプレートファイルではデフォルトでWindGateが使えるようになっている。
(テンプレートファイルのダウンロードや新規プロジェクトの作成は、Shafuを使うのが便利)


AsakusaFW 0.9.0以降

AsakusaFW 0.9.0でも、WindGateはテンプレートに自動的に含まれる。[2016-12-10]

逆にWindGateを使用しない(依存ライブラリーから除外する)場合は、以下のようにする。

build.gradle:

asakusafw {
    sdk {
        windgate false
    }
}

参考: Asakusa Gradle Plugin リファレンスの規約プロパティのSDKプロパティ


インストールへ戻る / AsakusaFW目次へ戻る / 技術メモへ戻る
メールの送信先:ひしだま