Hiveでmetastore_dbとderby.logの場所を設定する方法を調べたので、メモ。
なんか実行する度に以前作ったはずのテーブルが見当たらなかったり復活したりしておかしいなーと思っていたんだよね(汗)
Hive起動時のカレントディレクトリーにmetastore_dbというディレクトリーが作られて、その中でテーブル一覧を管理しているらしい。
カレントディレクトリーなんて気にしてなかったから、あちこちにmetastore_dbが出来てる(苦笑)
metastore_dbはApache DerbyというRDBのディレクトリー。
DerbyだからJDK1.6でインストールされるJavaDBを使ってるのか?と思ったが、derby.jarはHIVE_HOME/libの下にあるので、直接JavaDBとは関係ない模様。
ついでにderby.logの出力場所を変える方法も調べた。ちょっと邪魔だったんだよね、これ。
システムプロパティーを変える必要があるので、HiveではHADOOP_OPTSに指定してやる。(HiveはHadoopを実行して動いている為)
(プロパティー名を見ると、これはエラーファイルだったのか^^;)
Windowsへのインストール手順の中でHADOOP_OPTSを指定していたので、それに追加してやればいい。
けど、このインストール手順では、HIVE_HOME/bin/hiveを直接書き換えてた…。
本来こういうのはHIVE_HOME/conf/hive-env.shでやることなので、こちらを使うよう手順も変更した。
※コメント投稿者のブログIDはブログ作成者のみに通知されます