gpt4 book ai didi

postgresql - Sqoop+PostgreSQL : how to prevent quotes around table name

转载 作者:可可西里 更新时间:2023-11-01 14:26:42 27 4
gpt4 key购买 nike

我正在尝试将一个表从 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

会。

无论如何,它现在可以工作了。感谢您链接相关文档部分!

最佳答案

表名是barfoo是schema的名字。根据docs你应该这样做:

sqoop import \
(...)
--table bar \
--schema foo
(...)

关于postgresql - Sqoop+PostgreSQL : how to prevent quotes around table name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29748196/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com