将表从postgres数据库导入hdfs时出错?

nnvyjq4y  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(635)

我是hadoop新手,我使用以下命令将表从postgres数据库导入hdfs

sqoop import --connect 'jdbc:postgresql://0.0.0.0:5432/toptal?ssl=true&sslfactory=o‌​rg.postgresql.ssl.No‌​nValidatingFactory' --username 'capacityprediction_user' -P --table 'raw_hd' --target-dir '/raw_hd'

我得到以下错误:

17/09/15 10:35:33 ERROR manager.SqlManager: Error executing statement: rg.postgresql.ssl.No‌​nValidatingFactory could not be instantiated.
org.postgresql.util.PSQLException: The SSLSocketFactory class provided o‌​rg.postgresql.ssl.No‌​nValidatingFactory could not be instantiated.
    at org.postgresql.ssl.MakeSSL.convert(MakeSSL.java:51)
    at org.postgresql.core.v3.ConnectionFactoryImpl.enableSSL(ConnectionFactoryImpl.java:351)
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:137)
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66)
    at org.postgresql.jdbc.PgConnection.<init>(PgConnection.java:215)
    at org.postgresql.Driver.makeConnection(Driver.java:406)
    at org.postgresql.Driver.connect(Driver.java:274)
    at java.sql.DriverManager.getConnection(DriverManager.java:664)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:885)
    at org.apache.sqoop.manager.GenericJdbcManager.getConnection(GenericJdbcManager.java:52)
    at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:744)
    at org.apache.sqoop.manager.SqlManager.execute(SqlManager.java:767)
    at org.apache.sqoop.manager.SqlManager.getColumnInfoForRawQuery(SqlManager.java:270)
    at org.apache.sqoop.manager.SqlManager.getColumnTypesForRawQuery(SqlManager.java:241)
    at org.apache.sqoop.manager.SqlManager.getColumnTypes(SqlManager.java:227)
    at org.apache.sqoop.manager.ConnManager.getColumnTypes(ConnManager.java:295)
    at org.apache.sqoop.orm.ClassWriter.getColumnTypes(ClassWriter.java:1833)
    at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1645)
    at org.apache.sqoop.tool.CodeGenTool.generateORM(CodeGenTool.java:107)
    at org.apache.sqoop.tool.ImportTool.importTable(ImportTool.java:478)
    at org.apache.sqoop.tool.ImportTool.run(ImportTool.java:605)
    at org.apache.sqoop.Sqoop.run(Sqoop.java:143)
    at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
    at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:179)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:218)
    at org.apache.sqoop.Sqoop.runTool(Sqoop.java:227)
    at org.apache.sqoop.Sqoop.main(Sqoop.java:236)
Caused by: java.lang.ClassNotFoundException: o‌​rg.postgresql.ssl.No‌​nValidatingFactoryorg.postgresql.util.PSQLException: The SSLSocketFactory class provided o‌​
sg2wtvxw

sg2wtvxw1#

您的jdbc连接似乎有问题。jdbc连接的常用格式如下:

jdbc:postgresql://hostname:port/dbname"

相关问题