我正在尝试将一个表从postgresql导入hdfs上的parquet文件。
我是这样做的:
sqoop import \
--connect "jdbc:postgresql://pg.foo.net:5432/bar" \
--username user_me --password $PASSWORD \
--table foo.bar \
--target-dir /user/me/bar \
--as-parquetfile
我得到了
INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM "foo.bar" AS t LIMIT 1
ERROR manager.SqlManager: Error executing statement: org.postgresql.util.PSQLException: ERROR: relation "foo.bar" does not exist
``` `SELECT t.* FROM "foo.bar" AS t LIMIT 1` 确实不起作用,但是 `SELECT t.* FROM foo.bar AS t LIMIT 1` 做。所以问题是表名被引用了。我试着提供 `--table` 争论方式不同,但没有效果。
我该怎么处理?
## 编辑
当你链接的文档处于状态时,有一个 `--schema` 争论。由于某些原因,本节未提及 `sqoop help import` .
另一件奇怪的事是
--table bar --schema foo
仍然不起作用,但是
--table bar -- --schema foo
做。
不管怎样,它现在起作用了。感谢您链接相关文档部分!
2条答案
按热度按时间xwmevbvl1#
表名为
bar
,foo
架构的名称。根据文件,你应该这样做:cuxqih212#
根据文档,您需要单独指定模式: