ひしだまの変更履歴

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

Hiveのmetastore_dbとderby.logの場所

2011-08-13 17:27:42 | PG(分散処理)

Hivemetastore_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でやることなので、こちらを使うよう手順も変更した。

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

SequenceFile直接読み書き

2011-08-13 15:01:26 | PG(分散処理)

Hadoop APIを使ってシーケンスファイルを直接読み書きするのを試した。
(自分のHadoop本体に関する最後の更新日が2010年8月だから、ほぼ一年ぶりの更新か。ちょっと意外。まぁ勉強の対象がHBaseとかScalaに移ったからなぁ…と思ったらHBaseも最終更新が2010年8月か^^;)

要するにHiveのSerDeで作ったシーケンスファイルの中身を確認する為に読み込んでみたかったということだが。
まずは書き込みでキーをNullWritableにしたもんだから、Hiveのファイルを読み込もうとしてBytesWritableだったのに気付いてちょっとあせった^^;

しかしどういうクラスを扱うか決め打ちしていいなら、非常にシンプルに扱えるなぁ。

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

HiveのSerDe

2011-08-13 04:17:03 | PG(分散処理)

HiveSerDeを作ってみた。

SerDeはシリアライズ/デシリアライズの略。(で、何て読むんだろう?(苦笑))
HiveのSequenceFileはTextとByteWritableしか対応していないので、独自のWritableクラスをHiveで扱おうと思ったらSerDeを作る必要がある。

の割にネットで調べてもSerDeの作り方ってあまり出てこないような…(汗)
SerDeを作る人ってあんまりいないのかな??

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