ひしだまの変更履歴

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

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の新機能(追記) | トップ | shr.scala Hadoopが無いときー »
最新の画像もっと見る

1 コメント

コメント日が  古い順  |   新しい順
Unknown (xuwei_k)
2012-09-02 20:28:06
> Scala2.9.1~2.9.2ではバグ(SI-4945)があって使えなかった。正式FIXはScala2.10になると思われるが、それまでの暫定処置として、「-Yrepl-sync」を付けると実行できるようだ。
(理屈はよく分からないけど^^;)




ScalaのREPLは並列処理を行なっている

しかし、-iオプションをつけた場合のみ並列処理によってデッドロックが発生するバグ!

-Yrepl-syncとは、並列処理をやめてシングルスレッドで処理をするように指定するオプションである

(ちょっと起動遅くなるなどデメリットはあるが)とりあえず暫定的に解決




という理屈だと思います
返信する

コメントを投稿

ツール」カテゴリの最新記事