ひしだまの変更履歴

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

Sqoop Oracle

2012-06-19 21:12:59 | PG(分散処理)

SqoopOracleを試してみた。

Oracle用Sqoopについて『HADOOP HACKS』に載っていた通り、テーブル名が小文字だと落ちるし(苦笑)
テーブル名とユーザー名を大文字にしたら一応動いたけど、作られるディレクトリーやJavaクラス名が全部大文字なのは、ちと違和感があるな^^;

exportのデフォルトモードでは、MySQLPostgreSQLは複数VALUES INSERTを使うが、Oracleにはそのような構文は無い。バッチモードと同じになるのかな?と思ったが、どうやらSELECT~INSERTを使っているらしい。意外と頑張ってるなw

更新モード(--update-key)では、--update-modeにallowinsertが指定できる。
SQLとしてはMERGE文を使っているようだ。なるほど、MERGEはまさにこういう目的に使うものだな。
(MySQLやPostgreSQLがallowinsertに対応していなかったのは、MERGE文が無い為か。納得)

OraOopも一応インストールしてみた。
確かにテーブル名やユーザー名に小文字が使える。
一緒にダウンロードできるpdfのドキュメントをちらっと見た感じでは、importの範囲分割に関してはROWIDを使っているらしい。Oracleでは最速の方法ですな。

ただ、『HADOOP HACKS』では触れられていなかったが、ユーザーにDBAロール(管理者権限)を付けていないとdba_tab_columns等のテーブルにアクセスできなくてエラーになる。なんでuser系のビュー(uesr_tab_columns)を使わないんだろう…?


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« JavaFX2 TableView | トップ | Sqoopのソース »
最新の画像もっと見る

コメントを投稿

PG(分散処理)」カテゴリの最新記事