`
dacoolbaby
  • 浏览: 1262534 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

[转]Sqoop取Oracle数据出现SQLRecoverableException

阅读更多

Refer to:http://www.cnblogs.com/cenyuhai/archive/2013/09/06/3306073.html 

Oracle: Connection Reset Errors
错误代码
11/05/26 16:23:47 INFO mapred.JobClient: Task Id : attempt_201105261333_0002_m_000002_0, Status : FAILED
java.lang.RuntimeException: java.lang.RuntimeException: java.sql.SQLRecoverableException: IO Error: Connection reset
at com.cloudera.sqoop.mapreduce.db.DBInputFormat.setConf(DBInputFormat.java:164)
at org.apache.hadoop.util.ReflectionUtils.setConf(ReflectionUtils.java:62)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:117)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:605)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:322)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1115)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
Caused by: java.lang.RuntimeException: java.sql.SQLRecoverableException: IO Error: Connection reset
at com.cloudera.sqoop.mapreduce.db.DBInputFormat.getConnection(DBInputFormat.java:190)
at com.cloudera.sqoop.mapreduce.db.DBInputFormat.setConf(DBInputFormat.java:159)
... 9 more

这个问题的产生原因是由于缺少一个生成随机数的设备
找到 $JAVA_HOME/jre/lib/security目录下的java.security文件
修改securerandom.source=file:/dev/../dev/urandom

 

 

Oracle: Case-Sensitive Catalog Query Errors
下面是错误代码
1/09/21 17:18:49 INFO manager.OracleManager: Time zone has been set to
GMT
11/09/21 17:18:49 DEBUG manager.SqlManager: Using fetchSize for next
query: 1000
11/09/21 17:18:49 INFO manager.SqlManager: Executing SQL statement:
SELECT t.* FROM addlabel_pris t WHERE 1=0
11/09/21 17:18:49 DEBUG manager.OracleManager$ConnCache: Caching
released connection for jdbc:oracle:thin:
11/09/21 17:18:49 ERROR sqoop.Sqoop: Got exception running Sqoop:
java.lang.NullPointerException
java.lang.NullPointerException
at com.cloudera.sqoop.hive.TableDefWriter.getCreateTableStmt(TableDefWriter.java:148)
at com.cloudera.sqoop.hive.HiveImport.importTable(HiveImport.java:187)
at com.cloudera.sqoop.tool.ImportTool.importTable(ImportTool.java:362)
at com.cloudera.sqoop.tool.ImportTool.run(ImportTool.java:423)
at com.cloudera.sqoop.Sqoop.run(Sqoop.java:144)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
at com.cloudera.sqoop.Sqoop.runSqoop(Sqoop.java:180)
at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:219)
at com.cloudera.sqoop.Sqoop.runTool(Sqoop.java:228)
at com.cloudera.sqoop.Sqoop.main(Sqoop.java:237)

解决方式:用户名和表名全用大写

Oracle: ORA-00933 error (SQL command not properly ended)
如果没有指定的话,sqoop会默认使用oracle.jdbc.OracleDriver
Omit选项 --driver oracle.jdbc.driver.OracleDriver 然后重新提交

MySQL: Import of TINYINT(1) from MySQL behaves strangely
jdbc会把tinyint(1)认为是java.sql.Types.BIT,然后sqoop就会转为Boolean了,悲剧吧
解决方法:在连接上加上一句话tinyInt1isBit=false
jdbc:mysql://localhost/test?tinyInt1isBit=false

另一种解决方式是
hive使用 --map-column-hive foo=tinyint
非hive使用--map-column-java foo=integer

分享到:
评论

相关推荐

    Sqoop导Oracle数据到Hive

    ### Sqoop导入Oracle数据到Hive的详细步骤与解析 #### 一、概述 在大数据处理领域中,经常需要将关系型数据库中的数据导入到Hadoop的HDFS中,以便进一步进行数据分析或处理。其中,Sqoop作为一种强大的工具,能够...

    sqoop连接Oracle11.2.0.2.0的驱动包

    Sqoop是一款开源的数据迁移工具,主要用于在关系型数据库(如Oracle)和Hadoop之间进行数据导入导出。在本场景中,"sqoop连接Oracle11.2.0.2.0的驱动包"指的是使用Sqoop从Oracle数据库中提取数据时需要的特定驱动...

    Hadoop-Sqoop-Oracle:使用Sqoop在Oracle数据库和HDFS之间进行导入和导出

    Hadoop-Sqoop-Oracle 使用Sqoop在Oracle数据库和HDFS之间进行导入和导出 内容 使用 操作系统-Ubuntu 20.04.1 LTS(VMware) 后端-Java (JDK 1.8), Sqoop(v1.4.7) , Hadoop(v3.3.0) 库-OJDBC(v7),...

    使用sqoop抽取mysql数据

    Sqoop 是一个用于在 Hadoop 和关系型数据库之间进行数据导入导出的工具,它使得在大数据处理场景下,能够方便地将结构化的数据从 MySQL 这样的 RDBMS(关系型数据库管理系统)转移到 Hadoop 的 HDFS(Hadoop 分布式...

    sqoop测试数据

    mysql数据库商品表、品牌和品牌分类表数据,该数据完全是个人自己创建的数据。

    sqoop2 java API从oracle导数据到HDFS开发总结

    ### sqoop2 Java API从Oracle导数据到HDFS开发总结 #### 整体说明与准备工作 本文档旨在帮助读者理解如何使用sqoop2的Java API将数据从Oracle数据库迁移至HDFS(Hadoop Distributed File System),同时分享了作者...

    sqoop导入数据到hive中,数据不一致

    当使用Sqoop将数据导入Hive时,可能出现的问题包括数据类型不匹配、空值处理、数据格式错误等。 1. 数据类型不匹配:数据库中的字段类型与Hive表定义的字段类型不一致可能导致数据导入后出现异常。例如,数据库中的...

    【OJDBC-DT-BigData-SQL】Sqoop连接Oracle必备ojdbc6

    Sqoop连接Oracle必备ojdbc6

    sqoop2 java API从oracle导数据到HDFS开发总结新

    ### Sqoop2 Java API从Oracle导数据到HDFS开发总结 #### 整体说明与准备工作 本文档旨在帮助读者理解如何使用Sqoop2的Java API将数据从Oracle数据库迁移至Hadoop分布式文件系统(HDFS)。为了顺利完成这一过程,本...

    Sqoop安装与使用

    Sqoop 是一款方便的在传统型数据库与 Hadoop 之间进行数据迁移的工具,充分利用 MapReduce 并行特点以批处理的方式加快数据传输。Sqoop 工具是 Hadoop 下连接关系型数据库和 Hadoop 的桥梁,支持关系型数据库和 hive...

    星环大数据平台_Sqoop数据导入.pdf

    对于Sqoop的具体命令没有在该部分内容中出现,但是可以推测在后续部分的培训文档中将会有详细的Sqoop命令介绍。通常情况下,Sqoop命令包括导入数据到HDFS(sqoop import),从HDFS导出数据到关系数据库(sqoop ...

    实战Sqoop数据导入及大数据用户行为案例分析

    实战Sqoop数据导入及大数据用户行为案例分析(全套视频+代码+工具+课件讲义) 内容包括: 01_CDH版本框架的介绍 02_CDH版本框架的环境部署 03_Sqoop的介绍及其实现原理 04_Sqoop的安装部署及连接测试 05_Sqoop将...

    sqoop jdbc驱动包

    sqoop 导入数据时候报错ERROR sqoop.Sqoop: Got exception running Sqoop: java.lang.RuntimeException: Could not load db driver class: oracle.jdbc.OracleDriver 缺少驱动包。

    sqoop的数据导入

    Sqoop 是 Apache 开源项目中一个用于在关系型数据库(如 MySQL、Oracle 等)与 Hadoop 之间进行数据迁移的工具。它的主要功能是将结构化数据从传统数据库导入到 Hadoop 的 HDFS(Hadoop Distributed File System),...

    Sqoop集群搭建.

    2. 支持多种数据源,包括 Mysql、Oracle、Postgresql 等。 3. 支持多种数据格式,包括 CSV、Avro、JSON 等。 4. 良好的扩展性和可靠性。 Sqoop 集群搭建是指在 Hadoop 集群环境中安装和配置 Sqoop,以实现数据的...

    sqoop导入数据到hdfs路径

    通过Sqoop,用户可以从关系型数据库(如MySQL、Oracle等)中抽取数据并存储到Hadoop的HDFS中,或者将HDFS中的数据导出到关系型数据库中。 #### 二、导入数据到HDFS的命令解析 根据提供的部分内容,我们可以详细...

    Hadoop-Sqoop配置

    Sqoop 可以连接各种数据源,如 MySQL、PostgreSQL、Oracle 等,并将数据导入 Hadoop 中。 Sqoop 的主要特点是可以将结构化数据源中的数据导入 Hadoop 中,以便进行大数据处理和分析。Sqoop 使用 JDBC 驱动程序来...

    Apache的sqoop项目

    Apache Sqoop是一个专门为大数据处理设计的数据迁移工具,它允许用户从传统的关系型数据库管理系统(RDBMS)如MySQL、Oracle等,高效地导入到Hadoop的HDFS(Hadoop Distributed File System)中,或者从HDFS导出数据...

    sqoop把mysql数据导入hbase2.1.6

    【sqoop将MySQL数据导入Hbase2.1.6】是一项常见的大数据操作,用于整合不同数据存储系统。在这个过程中,我们需要使用Apache Sqoop工具,它是一个用于在Hadoop和传统数据库间进行数据迁移的工具。在本文中,我们将...

    解决sqoop2 数据分隔符为 ',' 以及 string类型数据存在单引号('数据')问题(通过改变源码编译解决 ---可以从源头彻底解决)

    说明: 版本为:sqoop2-1.99.5-cdh5.10.2 解决数据分隔符 以及 string类型数据存在单引号问题(解决方式 通过更改源码SqoopIDFUtils 里面的分隔符来解决此问题 ) ​ 只需要将以下包进行替换 connector-sdk-1.99.5-...

Global site tag (gtag.js) - Google Analytics