Sqoop抽数到Hive表异常分析
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github: https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1.问题描述
使用Sqoop抽取MySQL数据到Hive表时,抽取语句正常执行但数据没有写入Hive的表中,执行的Sqoop抽数脚本如下:
export HADOOP_USER_NAME=hive
sqoop import
--connect "jdbc:mysql://cdh02.fayson.com:3306/cm"
--username cm
--password password
--table HOSTS
--fields-terminated-by ','
--target-dir /user/hive/warehouse/hive_hosts
--delete-target-dir
--hive-import
--hive-overwrite
--hive-table hive_hosts
--m 1
--input-null-string '\N'
--input-null-non-string '\N'
(可左右滑动)
在命令行执行上述Sqoop脚本,显示作业正常执行
执行结果显示文件数和数据大小均为0,登录Hive查询生成的hive_hosts表
2.异常处理及分析
脚本执行成功
如上脚本的日志可以看到,向HDFS写入一个数据文件,文件大小481Byte。
2.使用hive命令查看hive_hosts表,数据已正常的抽取到hive_hosts表中
target-dir参数说明及影响:
在Sqoop抽数脚本中,指定了target-dir目录Sqoop抽取的数据会写到target-dir指定的目录,在Sqoop完成数据抽取后会将target-dir目录的数据load到Hive表对应的仓库目录并删除target-dir目录及数据。因为在上述异常中我们指定的target-dir目录与Hive表的仓库目录一致,所以会导致Sqoop抽数成功,但对应的Hive表中无数据问题。
Sqoop脚本中如果不指定target-dir目录时,默认会将抽取的数据写入到/user/{username}/{db_tablename}目录下。
3.总结
1.使用Sqoop抽数到Hive表,如果使用target-dir指定HDFS数据抽取目录时不能设置目标目录与hive表的仓库目录一致,否则会导致抽取的数据被Sqoop删除。
2.Sqoop抽数时如果不指定target-dir目标HDFS目录时,默认会将抽取的数据写入到/user/{username}/{DB_TABLENAME}目录下。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
- freeRTOS任务创建
- 洛谷P4213 Sum(杜教筛)
- JVM活学活用——调优工具
- .Net中的AOP系列之构建一个汽车租赁应用(下)
- Zookeeper学习笔记——2 Shell和Java API的使用
- Java基础巩固——反射
- 手把手教你在树莓派上搭建web服务器
- 安装和搭建基于netcore的demo
- 项目心得:广度遍历搜索部门处理业务
- 使用JAVA开发微信公众平台(一)——环境搭建与开发接入
- BZOJ4805: 欧拉函数求和(杜教筛)
- centos7.x下搭建netcore环境和helloworld的demo
- ARM coretex M4 系统定时器
- 用实例说明如何用JavaScript生成XML
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- linux centos 安装Jenkins(非docker方式)
- mysql5.7 derived_merge=on 弄丢了我的 order by!
- 用nrm轻松管理npm镜像 自用 实践笔记
- 模拟战役(DFS||并查集解法)
- 学会这些(滑动关机、应用多开、QQ微信消息攻击、表白神器),逼格瞬间提升1000倍
- 位数问题
- 题目 2229: [蓝桥杯][算法训练]最大最小公倍数
- 武汉工程大学2020GPLT选拔赛(重现赛)详细代码讲解
- 用邻接链表存图 详讲
- strstr函数的详细讲解
- ICPC Pacific Northwest Regional Contest 2019 C D E M 题解
- wordpress:您的主机禁用了mail()函数,找回用户名和密码
- AtCoder Beginner Contest 166 A ~~E
- AtCoder Beginner Contest 165 A ~~D
- 离散化思想详细讲解