Hadoopアドベントカレンダー2012 #hadoopAC12jpの18日目です。
AZAREA-Clusterの疑問点をブログに書いていたら回答をいただきました。まさか反応があると思っていなかったので、びっくり!ありがとうございます!
で、個人でもダウンロードの申込が出来るとのことだったので、申し込んで無事ダウンロードできました。
早速インストールして試してみました。
GUIは思っていたより動作が軽いですね!(もっとも、僕のPCはEclipseのScalaプラグインも特に問題なく動くスペックなので、参考になるかどうか微妙ですが^^;)
WordCountは今までで一番簡単に作れたかも(笑)
(どの処理クラスを使うかについては さすがにちょっと迷いましたが)
また、WordCountより複雑なものとして、例によって偏差値算出のサンプルも作ってみました。
やはりWordCount程度では分からない問題がいくつか出てきましたね。
集計処理用のGroupが入力と出力で同じ種類のEntityしか受け付けられないようなので、事前にConversionで変換しておかないといけないのが面倒なところ。そのせいでフロー上のステップがだいぶ増えてしまった印象です。
あと、分岐・結合しているのに再表示されたフローがそういう風にならない(見えない)のはさすがにどうかと…。
AZAREAのバージョンはまだ0.9なので、その辺りは今後に期待というところでしょうか。
さて、コーディングしていて非常に気になった点が、ライセンスについてです。
評価版が評価にのみ使用できるというのは問題ありませんね。まさに試したくて使っているわけですし(笑)
AZAREAの存在および評価を第三者に開示できるというのも有り難いです。試した結果をウェブページに書いて公開したいですし(笑)(わざわざ「存在を開示してよい」と書いてあるのは珍しい気がしましたが、商用製品だと、存在すら秘密にするような事もあるのでしょう、きっと)
問題なのは、リバースエンジニアリング禁止ですね。普通のソフトウェア(WordとかExcelとか)だったら特に問題ないのですが、ソースを生成するタイプのフレームワークではどうなのでしょう。生成されるソースで使っているクラスやメソッドは、どういう仕様(使い方)なのか知りたいところです。しかし、親クラスはAZAREAの提供するクラスです。ダウンロードしたアーカイブの中にソースは当然ありませんでしたし、Javadocも入っていませんでした。そこでクラスを調べようとしたら、リバースエンジニアリングになる可能性があるのでは?という懸念が出てくると思うのです。
また、AZAREAで作ったプログラムはデバッガーでテストできますが、例えば間違って変なデータを渡してAZAREAフレームワーク内部で例外が発生してデバッガーで停止したりしたら、それもリバースエンジニアリングの範疇に入ってしまう??
すると、作ったアプリで例外が発生したら、開発者が自分で調査せずに即サポート行きにするしかないんでしょうか。それだと解決までに時間がかかって開発者も大変だし、つまらない問い合わせが増えてサポートの人も大変だと思うのですが…。
もっとも、評価版のライセンスがこうだというだけで、商用ライセンスだと違うのかもしれませんね。
そう考えると、OSSって有り難いですね(笑)
最近は何かあるとソースを見るのが当たり前になっていて、気付きませんでした^^;