`
hotdog
  • 浏览: 284680 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Sqoop导入数据到MySql时的java.util.NoSuchElementException错误

 
阅读更多

应用场景为导出HDFS的数据到MySql数据库中。HDFS中的文件和MySql字段一一对应,但是每次执行的时候就报错。

 

执行命令:

./sqoop export --connect jdbc:mysql://10.0.0.0:3306/datacenter --username root --password admin --table uv_info --export-dir /user/hive/warehouse/uv/dt=2011-08-03

 

报错信息:

11/08/05 10:51:22 INFO mapred.JobClient: Running job: job_201108051007_0010
11/08/05 10:51:23 INFO mapred.JobClient:  map 0% reduce 0%
11/08/05 10:51:36 INFO mapred.JobClient: Task Id : attempt_201108051007_0010_m_000000_0, Status : FAILED
java.util.NoSuchElementException
        at java.util.AbstractList$Itr.next(AbstractList.java:350)
        at uv_info.__loadFromFields(uv_info.java:194)
        at uv_info.parse(uv_info.java:143)
        at com.cloudera.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:79)
        at com.cloudera.sqoop.mapreduce.TextExportMapper.map(TextExportMapper.java:38)
        at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
        at com.cloudera.sqoop.mapreduce.AutoProgressMapper.run(AutoProgressMapper.java:187)
        at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:647)
        at org.apache.hadoop.mapred.MapTask.run(MapTask.java:323)
        at org.apache.hadoop.mapred.Child$4.run(Child.java:270)
        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:1127)
        at org.apache.hadoop.mapred.Child.main(Child.java:264)

 

此错误的原因为sqoop解析文件的字段与MySql数据库的表的字段对应不上造成的。因此需要在执行的时候给sqoop增加参数,告诉sqoop文件的分隔符,使它能够正确的解析文件字段。

./sqoop export --connect jdbc:mysql://10.0.0.0:3306/datacenter --username root --password admin --table uv_info --export-dir /user/hive/warehouse/uv/dt=2011-08-03 --input-fields-terminated-by '\t'
 

 

分享到:
评论

相关推荐

    Sqoop通过Phoenix导hbase数据到hive

    出现此问题时使用:java.lang.NullPointerException at org.json.JSONObject.(JSONObject.java:144) at org.apache.sqoop.util.SqoopJsonUtil.... at org.apache.sqoop.Sqoop.main(Sqoop.java:252)

    Atlas2.3.0依赖: org.restlet/sqoop-1.4.6.2.3.99.0-195

    它允许用户将大规模数据导入到Hadoop的分布式文件系统(HDFS)中,或者从Hadoop导出数据到结构化的数据库。 Sqoop1.4.6版在Apache Atlas 2.3.0中被使用,可能是为了实现数据治理中的ETL(提取、转换、加载)流程,...

    sqoop-1.4.6.2.3.99.0-195.jar..zip

    编译Atlas用 sqoop-1.4.6.2.3.99.0-195.jar 内含安装jar包以及maven手动安装命令 详情可参考我的博客: https://blog.csdn.net/qq_26502245/article/details/108008070

    2、sqoop导入(RMDB-mysql、sybase到HDFS-hive)

    Sqoop 导入数据的基本语法如下: ```bash sqoop import [generic-args] [import-args] ``` 其中,`generic-args` 包含通用的 Hadoop 参数,而 `import-args` 是特定于 Sqoop 导入的参数。 2. **简单验证**: ...

    java-json.7z

    at org.apache.sqoop.Sqoop.run(Sqoop.java:147) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70) at org.apache.sqoop.Sqoop.runSqoop(Sqoop.java:183) at org.apache.sqoop.Sqoop.runTool...

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

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

    sqoop-1.4.7.tar.gz.zip

    Sqoop 是一个开源工具,主要用于在关系型数据库(如 MySQL、Oracle 等)与 Hadoop 之间进行数据导入导出。在这个特定的文件“sqoop-1.4.7.tar.gz.zip”中,我们看到的是 Sqoop 1.4.7 版本的源码或二进制包。这个版本...

    sqoop-1.3.0-cdh3u4.tar.gz

    - **数据导入**:使用 Sqoop 可以将整个数据库表或特定查询结果导入到 HDFS 中,这通常通过指定数据库连接信息、表名和导入选项来完成。 - **数据导出**:反之,也可以将 HDFS 中的数据导出到数据库中,建立 Hadoop...

    sqoop从mysql中导入数据到parquet格式的hive中

    sqoop导入数据到hive

    sqoop-1.4.6.2.3.99.0-195.jar

    基于atlas2.0.0编译,需要而很难找到有效地址下载不到的jar包 sqoop-1.4.6.2.3.99.0-195.jar

    sqoop-1.2.0-CDH3B4.tar.gz

    1. **改进的性能**:相较于早期版本,1.2.0 版本的 Sqoop 在数据导入导出的性能上有所提升,特别是在处理大数据量时。 2. **新功能**:可能引入了新的命令行选项、连接器或数据格式支持,以增强其灵活性和功能性。 3...

    sqoop导入数据到hdfs路径

    7. **`--hive-drop-import-delims`**:该选项告诉Sqoop在导入数据时不要使用任何分隔符。这通常用于导入非结构化或半结构化数据,例如CSV文件,但在此上下文中,意味着不希望在导入的数据中包含特定的分隔符。 8. **...

    sqoop-1.4.5.tar.gz

    6. **并行性**:通过调整并行度参数,Sqoop 能够利用多个 Map 任务并行导入数据,提高整体导入速度。 7. **数据转换**:在导入过程中, Sqoop 允许用户添加自定义的 MapReduce 任务进行数据清洗和转换,增强了其...

    大数据课程-Hadoop集群程序设计与开发-10.Sqoop数据迁移_lk_edit.pptx

    在导入数据时,Sqoop首先通过JDBC检查目标数据库表,获取列信息和SQL数据类型,并将这些类型映射为Java数据类型。然后,Sqoop自动生成相应的MapReduce应用,以Java类型存储字段值,方便数据处理。 #### Sqoop导出...

    sqoop2-1.99.5-cdh5.6.0.tar.gz

    8. **API支持**:除了Web UI,Sqoop2 还提供了RESTful API 和Java API,使得开发者可以方便地集成到自己的应用程序中,自动化数据迁移过程。 9. **容错机制**:如果在数据传输过程中发生错误,Sqoop2 将尝试恢复...

    Sqoop-sqlserver-hdfs.rar

    在Sqoop中,这个驱动用于建立从Java环境到SQL Server的数据连接,从而读取数据库中的数据并准备导入到HDFS。 其次,`sqoop-sqlserver-1.0.tar.gz`是Sqoop针对SQL Server的特定适配器包。 Sqoop本身支持多种RDBMS,...

    sqoop-1.4.6-cdh5.5.0.tar.gz

    1. 数据导入:Sqoop 可以从 RDBMS 导入数据到 HDFS,支持全量导入和增量导入。增量导入允许用户仅导入自上次导入以来发生更改的数据,减少了不必要的数据传输。 2. 数据导出:与导入相反,Sqoop 还能将 HDFS 中的...

    大数据技术基础实验报告-sqoop的安装配置与应用.doc

    此外,Sqoop还会自动生成一个 `user.java` 文件,这是用于MapReduce作业的源代码。 **总结** Sqoop作为大数据处理的重要工具,简化了Hadoop和RDBMS之间的数据迁移工作。正确配置和使用Sqoop,可以有效地实现大数据...

    sqoop-1.2.0-CDH3B4.tar.gz下载

    描述提到,解压并配置"configure-sqoop"文件后,我们可以利用这个版本的Sqoop实现从关系型数据库导入数据到Hadoop的功能。"configure-sqoop"通常是指`conf/sqoop-site.xml`配置文件,它是 Sqoop 配置的核心部分,...

    sqoop把mysql数据导入hbase2.1.6

    在导入数据时,Sqoop会将所有字段的值序列化为字符串,并将其转换为UTF-8编码的二进制值存储在HBase中。这意味着所有类型的数据都将被转换为文本格式,这可能会影响数据的读取效率和存储空间。 总的来说,将MySQL...

Global site tag (gtag.js) - Google Analytics