SqoopでPostgreSQLとのデータ転送を試してみた。
MySQLで試して上手くいっているんだから大丈夫だろう…と思いきや、exportで落ちた(汗)
落ちた原因は、PostgreSQLのバージョンが古かった所為。
Sqoopのexportでは、「insert into テーブル values(…), (…), (…)」という様に、insert文で値の組を複数記述したものを使っている。
PostgreSQL8.1はこの構文に対応していない為、エラーになる。
PostgreSQL8.2以降やMySQLは対応しているので大丈夫。
つーか、PostgreSQL8のマイナーバージョン違いでそんな大きな違いがあると思ってなかったよorz
CentOSのyum install postgresql-serverだと8.1が入るから、そのまま使っていたらこのざま…。8.4をインストールするのにyum install postgresql84-serverって、分かり易いっちゃ分かり易いけどさぁ^^;