`
help
  • 浏览: 22086 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

解决sqoop java.util.NoSuchElementException

阅读更多
如果报错
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) 
解决此错误需要注意2点:
1)确保你创建的表指定了分隔符,例如:
create table if not exists apachelogsummary(
host STRING,
size STRING,
sumsize STRING)
partitioned by (dt STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n' STORED AS TEXTFILE;
如果你不指定,那么hdfs产生的数据文件会像这样:
221.204.248.109^A162612.7783203125^A1.8820923416702835
61.164.153.130^A24674.1982421875^A0.28558099817346644
222.73.95.121^A20020.7822265625^A0.23172201651114005
202.108.251.23^A14764.1708984375^A0.1708816076208044
61.164.153.171^A14522.759765625^A0.1680874972873264
122.227.222.116^A12595.080078125^A0.14577638979311341
114.80.142.87^A9494.8564453125^A0.10989417182074653
125.39.39.84^A7066.0595703125^A0.0817830968786169
218.25.106.248^A5449.583984375^A0.06307388870804398
123.126.50.68^A5217.9619140625^A0.06039307770905671
都这样了,你让sqoop怎么告诉mysql哪个字段对应哪个字段呢。。
2)sqoop导出命令的时候,要指定对应的数据文件分隔符--input-fields-terminated-by '\t'使它能够正确的解析文件字段。

./sqoop export --connect jdbc:mysql://localhost:3306/datacenter --username root --password admin --table uv_info --export-dir /user/hive/warehouse/uv/dt=2011-08-03 --input-fields-terminated-by '\t'
分享到:
评论
1 楼 lookqlp 2012-11-14  
mb --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)

    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...

    sqoop1.99.0

    Sqoop 1.99.0 是 Apache Sqoop 的一个重要版本,它是一个专门设计用于在关系型数据库(如 MySQL、Oracle 等)与 Hadoop 分布式文件系统(HDFS)之间高效传输数据的工具。这个版本是在 Hadoop 生态系统中广泛使用的,...

    sqoop-1.4.7.jar

    解决错误:Could not find or load main class org.apache.sqoop.Sqoop。把这个sqoop-1.4.7.jar放到sqoop根目录下的lib目录中,即可。 如果你没有积分,也可以自己去这个地址下载:...

    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

    avro-1.8.1

    运行Sqoop报错:Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/avro/LogicalType,下载此资源放到Sqoop的lib目录下即可

    Sqoop 安装.docx

    Sqoop 支持多种数据库,如果需要连接 MySQL 数据库,需要将对应的 JDBC 驱动(例如 `mysql-connector-java-5.1.39-bin.jar`)复制到 Sqoop 安装目录的 `lib` 子目录: ``` sudo mv mysql-connector-java-5.1.39-...

    sqoop1.x 导入数据

    ### Sqoop 1.x 数据导入详解 #### 一、Sqoop 概述 Sqoop 是一款开源工具,用于高效地在 Hadoop 和关系型数据库之间传输数据。它通过 JDBC 连接到关系型数据库,并利用 MapReduce 作业并行化数据传输过程。本文将...

    sqoop配置.docx

    - 解压后,将`mysql-connector-java-5.1.37-bin.jar`复制到`sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib`目录下。 3. **设置环境变量** - 编辑`/etc/profile`文件,添加以下内容: ```bash # Sqoop environment ...

    sqoop-1.4.6.jar.zip

    sqoop框架开发工具使用的jar sqoop-1.4.6.jar 手动安装到maven <groupId>org.apache.sqoop <artifactId>sqoop <version>1.4.6 </dependency>

    sqoop-1.4.6.2.3.99.0-195.jar

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

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

    在IT行业中,我们经常涉及到各种库和框架的集成与使用,这次我们关注的是"Atlas2.3.0"依赖的组件:"org.restlet/sqoop-1.4.6.2.3.99.0-195"。这个依赖包含了三个关键的JAR文件:`sqoop-1.4.6.2.3.99.0-195.jar`,`...

    sqoop-1.4.7.zip

    在这个场景中,我们遇到了一个关于Sqoop运行时的问题,即"找不到或无法加载主类 org.apache.sqoop.sqoop"。这个问题通常是由于Java运行环境配置不正确或者 Sqoop 的依赖库没有被正确地包含在执行环境中所导致的。 ...

    sqoop-1.4.7.bin__hadoop-2.6.0.tar

    Sqoop 是一个开源工具,主要用于在关系数据库管理系统(RDBMS)与 Apache Hadoop 之间进行数据迁移。这个压缩包 "sqoop-1.4.7.bin__hadoop-2.6.0.tar" 包含了 Sqoop 的 1.4.7 版本,该版本是针对 Hadoop 2.6.0 的。...

    sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.zip

    Sqoop 的工作原理是通过 JDBC(Java Database Connectivity)连接到关系型数据库,将数据转换为 Hadoop 可以处理的格式,然后利用 MapReduce 作业将数据写入 HDFS 或其他 Hadoop 兼容的数据存储系统。同样,它也...

    sqoop使用.txt

    sqoop数据导出工具

    sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

    3. 配置 Sqoop 连接信息:编辑 `$SQOOP_HOME/conf/sqoop.properties` 文件,设置数据库连接的 JAR 路径、用户名、密码等信息。 4. 验证安装:运行 `sqoop help` 命令,如果显示帮助信息,则表明安装成功。 使用 ...

    Hadoop深入浅出之Sqoop介绍.pptx

    Sqoop 作为 Hadoop 生态系统中的一员,极大地简化了大数据环境与传统数据库之间的数据交换,使得数据集成更加灵活,对于企业级的大数据解决方案有着重要的作用。了解并熟练掌握 Sqoop 的使用,有助于提升大数据项目...

Global site tag (gtag.js) - Google Analytics