ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

shr.scala Hadoopが無いときー

2012-09-20 22:02:42 | PG(分散処理)

ScalaのREPLでHadoop(HDFS)を操作するツールで、hadoopコマンドが見つからなかったときにエラーメッセージを表示するように修正。

というか、shr.shの最後でresetコマンドを実行しているから、エラーがあってもメッセージが消えてしまっていただけなので、エラーが出たときはresetを実行しないように修正したもの。

というか、このツールの目的から言ってHadoopが入っていない環境を想定してなくて、そんな環境で実行したことも無かったから、そういう問題があるという事に気付いてなかった^^;


ついでに、今までPathクラスの中で行っていたテキストファイル関連の処理を、TextFileというクラスを新設して、そちらに移した。
シーケンスファイル用のSeqFileというクラスは前からあったので、これで対称的になる。
Pathには今まで通りのメソッドが残っており(間違って消してない限り(爆))、対象ファイルがシーケンスファイルであればSeqFile、そうでなければTextFileに委譲するようにした。

クラス構造がちょっと綺麗になったような気がして、嬉しい(笑)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

shr.scala AsakusaFW0.4対応

2012-09-02 20:11:46 | ツール

ScalaのREPLでHadoop(HDFS)を操作するツールを、Asakusa Framework 0.4に対応させた。

というのは、AsakusaFWが0.2系から0.4にバージョンアップするのに伴って、コアライブラリーのjarファイルのファイル名が変わった為。
(asakusa-runtime.jar → asakusa-runtime-all.jar)
(当ツールには関係ないが、クリーニングツールとかも拡張モジュール(extension module)になったので、jarファイル名に「ext」が入ったりしている) 

当ツールでは環境変数ASAKUSA_HOMEが設定されていたら、コアライブラリーのjarファイルをクラスパスに含めるようにしている。(AsakusaFWのデータモデルクラスのデータを読み書きするのに使う為)
今まではasakusa-runtime.jarというファイル名を直接指定していたので、「asakusa-runtime*.jar」に変更した。

ついでに、ASAKUSA_HOME/ext/libの下のjarファイルもクラスパスに含めるよう修正した。
AsakusaFWでSqoopSequenceFileを扱う(SequenceFileFormatを使う)場合、ext/libにSqoopのjarファイルを入れることがあるので、クラスパスに含めた方が便利だから(笑)


さらについでに、scalaを起動する際のオプションに「-Yrepl-sync」を追加した。

今まで、「-i」オプションを使って起動スクリプトを読み込みたかったのだが、Scala2.9.1~2.9.2ではバグ(SI-4945)があって使えなかった。正式FIXはScala2.10になると思われるが、それまでの暫定処置として、「-Yrepl-sync」を付けると実行できるようだ。
(理屈はよく分からないけど^^;)

コメント (1)
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

AsakusaFW0.4.0の新機能(追記)

2012-09-01 05:20:11 | PG(分散処理)

Asakusa Framework 0.4.0のドキュメントを見ていたら、昨日書いたものの他にも気になるトピックがあったので、追記。

ドキュメントが増えている
そもそもドキュメントがまた増えている^^;
YAESSのユーザーガイドに「フェーズ」の一覧と図が載っていたり、DSL可視化のページにGraphvizの生成例が載っていたり。
ThunderGateも今までPDFだったのがHTMLになったようだし。 

アーキタイプカタログのファイル名の変更
AsakusaFWはMavenのアーキタイプカタログを使ってインストールするが、そのファイル名が今までは「archetype-catalog.xml」だったのが、バージョン番号が付いた「archetype-catalog-0.4.xml」が新設された。
今までのものだと選択肢に全バージョンが表示されるが、新たな方は0.4(以降?)のものだけ表示される。
基本的にはインストールは新しいバージョンのものを使うだろうから、選択肢が少ない方が混乱も少なくて良いのでは。

WindGateの再試行機能
WindGateを使って行うデータ転送でリトライする回数を指定できるようになった。

●コンパイラーの最適化
オペレーターの複製を除去する最適化?がされるようになったらしい。


ちなみに、ドキュメントのURLは「latest/release」が最新版となる。
「0.2/release」 「0.4/release」のようにバージョン毎のURLでも見られる。
現時点だと「latest/release」と「0.4/release」の内容は同じ。

ついでに「latest/develop」だと、最新版より新しいw(正式リリース前の開発版)

コメント
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする