2

HDFS から Postgres にデータをエクスポートするために、Sqoop (1.3.0-cdh3u4) を使用しています。主な問題は、ltree 型の列が 1 つあることです。

ERROR orm.ClassWriter: Cannot resolve SQL type 1111
ERROR orm.ClassWriter: No Java type for SQL type 1111 for column path

Sqoop は --map-column-java を使用して文字列の解析を強制してもエクスポートできません。

java.io.IOException: org.postgresql.util.PSQLException: ERROR: column "path" is of type ltree but expression is of type character varying
Hint: You will need to rewrite or cast the expression.
Position: 106

何か案が?

4

1 に答える 1

1

Sqoop は、データを CSV にインポートするときに、これらの型をテキストに変換する方法を知りません。Sqoop でそれらのサポートを追加できます... または PostgreSQL クエリを記述してそれを実行できます: COLUMN_NAME::text!

sqoop import \
    --connect jdbc:postgresql://localhost:5432/foobar \
    --username ryan -P --direct \
    --query "SELECT id,ip::text,my_enum::text,description FROM stuff WHERE \$CONDITIONS" \
    --target-dir stuff \
    --split-by id

ERROR orm.ClassWriter: Cannot resolve SQL type 1111INET フィールドと ENUMにも遭遇しました。

于 2013-06-07T01:01:10.673 に答える