S-JIS[2011-08-16] 変更履歴

Asakusa Framework Pig・Hiveモデルドライバー

ひしだま作の、Asakusa Frameworkデータモデルドライバーです。

AsakusaFWで生成されたモデル(Writable)クラスに対応したApache HiveSerDeクラスApache PigStorageクラスを生成します。
→生成されるクラスのイメージ:AsakusaFWモデル用SerDeAsakusaFWモデル用Storage

つまり、AsakusaFWで作ったアプリケーションから生成されたシーケンスファイルをHive・Pigから読み込めるということです。
(AsakusaFW 0.2.1・Hive 0.7.1・Pig 0.8.1)

afw-hive-driver.jar (15.6kB) [2011-08-16]
afw-pig-driver.jar (15.9kB) [2011-08-16]

使い方

ドライバーのjarファイル(afw-hive-driver.jarあるいはafw-pig-driver.jar、またはその両方)を、AsakusaFW用プロジェクトのビルドパスに追加します。

そして、Eclipseの実行構成を構成し、データモデルの生成を実行します。
するとモデル(Writable)やInput・Outputクラスの他に、SerDeやStorageクラス(のJavaソース)が生成されます。
あとは、普通にSerDeStorageを扱う方法と同じです。
AsakusaFWモデル用SerDeの使用方法AsakusaFWモデル用Storageの使用方法

Eclipseの実行構成の例
タブ 設定内容の例 備考
メイン プロジェクト(P) afw-wordcount AsakusaFWのプロジェクト
メイン・クラス(M) com.asakusafw.dmdl.java.Main データモデル生成を行うクラス
引数 プログラムの引数(A) -output C:/cygwin/tmp/afw/
-package sample.modelgen
-source src/main/dmdl
sourceで指定した場所にあるdmdlファイルを読み込み、
outputで指定した場所にJavaソースを出力する。
参考: DMDLユーザーガイド#DMDLコンパイラの実行

Mavenのpom.xmlをいじって依存関係にafw-hive-driver.jarやafw-pig-driver.jarを追加すれば、「mvn generate-resources」でも生成されると思います。
 ただしその場合はプロジェクトのビルドパスが通っている場所に生成される為、HiveやPig自体のjarファイルも無いとコンパイルエラーになるでしょう。
(Mavenに登録しなくても)モデル生成時に自作ドライバーを実行させる方法

※DMDLではプロパティーのデータ型にDATE等を指定できるようですが、今回対応しているのはプリミティブ型とTEXT(String)のみです。


自作ソフトへ戻る / AsakusaFWへ戻る / Hiveへ戻る / Pigへ戻る / Hadoopへ戻る
メールの送信先:ひしだま