首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自Presto数据库的Sqoop,[Teradata][JDBC](11975)不支持的事务隔离级别:2

来自Presto数据库的Sqoop,[Teradata][JDBC](11975)不支持的事务隔离级别:2
EN

Stack Overflow用户
提问于 2018-02-26 11:31:53
回答 1查看 605关注 0票数 0

我能够连接和查询Presto数据库使用Cli,Spark等

但是,当我尝试将PrestoDB实例中的Sqoop导入到S3中时,我得到了这个事务隔离错误:

代码语言:javascript
复制
    8/02/26 03:03:46 DEBUG sqoop.ConnFactory: Loaded manager factory: org.apache.sqoop.manager.oracle.OraOopManagerFactory
18/02/26 03:03:46 DEBUG sqoop.ConnFactory: Loaded manager factory: com.cloudera.sqoop.manager.DefaultManagerFactory
18/02/26 03:03:46 WARN sqoop.ConnFactory: Parameter --driver is set to an explicit driver however appropriate connection manager is not being set (via --connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager. Please specify explicitly which connection manager should be used next time.
18/02/26 03:03:46 INFO manager.SqlManager: Using default fetchSize of 1000
18/02/26 03:03:46 INFO tool.CodeGenTool: Beginning code generation
18/02/26 03:03:46 DEBUG manager.SqlManager: Execute getColumnInfoRawQuery : SELECT t.* FROM alarm_types AS t WHERE 1=0
18/02/26 03:03:46 DEBUG manager.SqlManager: No connection paramenters specified. Using regular API for making connection.
18/02/26 03:05:56 ERROR manager.SqlManager: Error executing statement: java.sql.SQLException: [Teradata][JDBC](11975) Unsupported transaction isolation level: 2.
java.sql.SQLException: [Teradata][JDBC](11975) Unsupported transaction isolation level: 2.
    at com.teradata.exceptions.ExceptionConverter.toSQLException(Unknown Source)
    at com.teradata.jdbc.common.SConnection.setTransactionIsolation(Unknown Source)
    at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:891)
    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)
18/02/26 03:05:56 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter
    at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1651)
    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)

我尝试使用标准Facebook驱动程序jar和Teradata Presto Jdbc jar,这两个驱动程序都得到了相同的错误。

使用Facebook驱动时出现异常:

代码语言:javascript
复制
    18/02/26 19:22:20 ERROR manager.SqlManager: Error executing statement: java.sql.SQLFeatureNotSupportedException: Transactions are not yet supported
java.sql.SQLFeatureNotSupportedException: Transactions are not yet supported
    at com.facebook.presto.jdbc.PrestoConnection.setTransactionIsolation(PrestoConnection.java:220)
    at org.apache.sqoop.manager.SqlManager.makeConnection(SqlManager.java:891)
    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)
18/02/26 19:22:20 ERROR tool.ImportTool: Encountered IOException running import job: java.io.IOException: No columns to generate for ClassWriter
    at org.apache.sqoop.orm.ClassWriter.generate(ClassWriter.java:1651)
    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)

下面是我的Sqoop命令:

代码语言:javascript
复制
sqoop import \
    -libjars $teradata_jar_path --driver $teradata_driver \
    --verbose \
    --connect jdbc:presto://xxx/<db> \
    --table <tablename> --target-dir s3://<s3-path> \
     --relaxed-isolation

请注意,我也尝试了“--relaxed isolation”,但得到了相同的错误。任何帮助都将不胜感激。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2018-02-28 03:40:04

请升级您的Presto安装。我建议你用最新的。

请注意,在0.189中添加了对使用SQL语句或标准JDBC机制的事务的支持:https://prestosql.io/docs/current/release/release-0.189.html

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48981052

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档