sqoop遇到mysql字段为保留字_关于在sqoop 导出数据到mysql数据库的过程对于空字符的处理。...

今天在做sqoop的导入和导出的操作。在导出数据到mysql数据库的时候一直有问题,在导入空字段的时候就出现下面这个错误。

WARN hdfs.DFSClient: Caught exception

java.lang.InterruptedException

at java.lang.Object.wait(Native Method)

at java.lang.Thread.join(Thread.java:1281)

at java.lang.Thread.join(Thread.java:1355)

at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.closeResponder(DFSOutputStream.java:967)

at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.endBlock(DFSOutputStream.java:705)

at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:894)

18/09/05 12:02:12 INFO input.FileInputFormat: Total input paths to process : 1

18/09/05 12:02:12 INFO input.FileInputFormat: Total input paths to process : 1

GXG 2018/9/5 12:30:34

ERROR tool.ExportTool: Error during export:

Export job failed!

at org.apache.sqoop.mapreduce.ExportJobBase.runExport(ExportJobBase.java:439)

at org.apache.sqoop.manager.SqlManager.exportTable(SqlManager.java:931)

at org.apache.sqoop.tool.ExportTool.exportTable(ExportTool.java:80)

at org.apache.sqoop.tool.ExportTool.run(ExportTool.java:99)

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.java:234)

at org.apache.sqoop.Sqoop.runTool(Sqoop.java:243)

at org.apache.sqoop.Sqoop.main(Sqoop.java:252)

然后发现在hive表当中的数据是为空的。而且没有指定对空字符进行操作。所以导致拿不到这个字段。最后在对string类型的数据进行处理之后顺利的导入数据库:

--input-null-string '\\N'\--input-null-non-string '\\N' \

对sqoop的脚本加上这段代码就可以实现对数据的导入。具体的sqoop脚本如下:

sqoop export \--connect jdbc:mysql://172.16.230.138/report \

--username u_report \--password 1234 \--table middle_table1 \--export-dir /user/hive/warehouse/middle_table_copy/*\

--input-null-string '\\N' \

--input-null-non-string '\\N' \

--input-fields-terminated-by '\t'

至此问题得到解决。数据顺利的导入到关系型数据库mysql当中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/364895.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS3新增的伪类选择器

伪类选择器的作用:对已有选择器做进一步的限制,对已有选择器能匹配的元素做进一步的过滤。CSS 3提供的伪类选择器主要分为以下三类: 结构性伪类选择器UI元素状态伪类选择器其他伪类选择器 1、结构性伪类选择器 Selector:root:匹…

签名SOAP消息–生成封装的XML签名

数字签名是使数字内容真实可信的一种广泛使用的机制。 通过为某些内容生成数字签名,我们可以让另一方能够验证该内容。 通过此验证,它可以保证在我们签名后不会更改。 通过这个示例,我将分享如何为SOAP信封生成签名。 但是,这当然…

2019 The 19th Zhejiang University Programming Contest

感想: 今天三个人的状态比昨天计院校赛的状态要好很多,然而三个人都慢热体质导致签到题wa了很多发。最后虽然跟大家题数一样(6题),然而输在罚时。 只能说,水题还是刷得少,看到签到都没灵感实在不应该。 题目链接&#…

openvas安装和基本使用

OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。OpenVAS是开放式漏洞评估系统,也可以说它是一个包含着相关工具的网络扫描器。其核心部件是一个服务器,包括一套网络漏洞测试程序,可以检测远程系统和应…

修改mysql编码方式centos_CentOS下修改mysql数据库编码为UTF-8(附mysql开启远程链接和开放3306端口)...

楼主在配置好linux云服务器的jdk,tomcat,mysql后,当要开始部署项目是,忽然意识到一个很严重的问题,那就是数据库的编码问题,自安装完成后并未修改数据库的额编码。。。。下面就来讲说linux下修改mysql的编码问题吧。。有一个问题网…

Java 8 Lambda表达式的函数式编程– Monads

什么是monad ?: monad是一种设计模式概念,用于大多数功能编程语言(如Lisp)或现代世界的Clojure或Scala中。 (实际上,我会从scala复制一些内容。)现在,为什么它在Java中变…

srtvlet filter

Filter,过滤器,顾名思义,即是对数据等的过滤,预处理过程。为什么要引入过滤器呢?在平常访问网站的时候,有时候发一些敏感的信息,发出后显示时 就会将敏感信息用*等字符替代,这就是用…

mysql怎么合并行_mysql怎么合并行

mysql合并行的方法:使用函数【GROUP_CONCAT()】,代码为【SELECT am.activeId,GROUP_CONCAT(m.modelName SEPARATOR ‘,’) modelName】。【相关学习推荐:mysql学习】mysql合并行的方法:一个字段可能对应多条数据,用mys…

ubuntu 14 编译ARM g2o-20160424

1. 安装eigen sudo apt-get install libeigen3-dev sudo apt-get install libsuitesparse-dev sudo apt-get install libqglviewer-dev 对于ARM版本,可以下载http://eigen.tuxfamily.org,之后放置在toolchain可以找到的三方库位置处,我使用的…

将旧项目从Ant迁移到Maven的4个简单步骤

一段时间以来,我们一直在考虑将构建从蚂蚁移植到Maven。 它发生在上个月,实际上比我们预期的要简单。 根据我的经验,这里简要介绍了我们遵循的步骤。 我们的应用程序是一个具有多个框架和技术的企业Web应用程序构建,并作为单个WAR…

浅谈servlet与jsp的关系

servlet是用java语言编写的,是一个java类。主要功能是用来接受、处理客户端的请求,并把处理结果返回到客户端显示。Jsp是servlet发展后期的产物。在没有jsp之前,servlet利用输出流动态生成整个HTML页面,输出内容包括每一个HTML标签…

折腾Java设计模式之建造者模式

博文原址:折腾Java设计模式之建造者模式 建造者模式 Separate the construction of a complex object from its representation, allowing the same construction process to create various representations. 将复杂对象的构造与其表现分离,允许相同的构…

python小甲鱼练习题答案_小甲鱼Python第 013讲元组:戴上了枷锁的列表 | 课后测试题及参考答案...

测试题:0. 请用一句话描述什么是列表?再用一句话描述什么是元组?列表:一个大仓库,可以随时往里面添加和删除任何东西。元祖:封闭的列表,一旦定义,就不可改变(不能添加、删除或修改)1…

获得的经验:ActiveMQ,Apache Camel和连接池

每隔一段时间,我会遇到一个与ActiveMQ的连接和池相关的有趣问题,而今天,我想讨论一些并不总是很清楚的问题,并且在使用ActiveMQ和Camel JMS时可能会导致您大量饮酒。 并不是说您无论如何都不会在使用ActiveMQ和Camel时大量喝酒………

羊车门问题

题目描述:有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,然后允许…

webapp优化

1. 优化前提: 业务架构与数据库设计 2. 单页web应用 : ExtJs backbone ng avalon 框架: React Native , ionic , Mui, metror,WeeX,device one Meteor(版本: 1.0) 的另一个特点是它会通过手机内存中运行的 mi…

高版本Sqlserver数据库导入低版本Sqlserver

今天想跑一个关于java网站的demo,结果在附加数据库项这一块出现问题,例程的数据库用的是sqlserver2014,而我的是2008,添加数据库出现错误。经过一番查找,也找到某人写的一些博客上的解决方案,不过不是很清楚…

mysql删除bin-log_删除MYSQl BIN-LOG 日志

1.查找当前有哪些二进制日志文件:mysql> show binary logs;-----------------------------| Log_name | File_size |-----------------------------| mysql-bin.000001 | 1357315 || mysql-bin.000002 | 117 || mysql-bin.000003 | 404002 ||…

WildFly 8与GlassFish 4 –选择哪个应用服务器

自从我上一个博客以来已经有一段时间了。 我显然忙于其他事情,包括我的主要工作。 在对应用服务器的正确选择提出更多疑问之后,是时候再次讨论这个话题并分享我的想法。 该博客上最常阅读的文章之一是有关选择哪种Java EE 6应用程序服务器的文章 。 我一…

Vue--- 一点车项目

一点车项目 cli脚手架 组件化 数据交互路由指向存入数据库 前端页面 cli脚手架的安装与搭建 创建对应包 页面组件化编辑 (共享组件:摘取出来一模一样的组件重用)(私有组件:在自己的组件写入 引入共享组件) 数据交…