sqoop 问题以及 小tips
1. Sqoop import 任务里把原来NULL的转化成字符串‘null’了。
解决方法:
先: alter table ${table_name} SET SERDEPROPERTIES('serialization.null.format' = '\\N');
再: sqoop代码最后面加上 --null-string '\\N' --null-non-string '\\N'
2. sqoop 如果hive to mysql 的时候,会因为hive数据条为0导致任务失败
其实本身任务是没问题的。
方法:直接再后面打印一行就是如,echo `date +%Y%m%d-%H:%M:%S` "cs_live_interaction end"
然后就会跳过前面的失败,却执行成功
但是同时,如果你这个任务真的同步失败的话,调度状态看不出来
3. sqoop import 和 export 样例
import
#!/bin/bash
set -v
echo `date +%Y%m%d-%H:%M:%S` "table_xxx begin"
sqoop import -D mapred.job.queue.name=root.offline \
--mapreduce-job-name sqoop_table_xxx \
--hive-drop-import-delims \
--connect "${datasource_connect}" \
--username ${datasource_username} \
--password '${datasource_password}' \
--split-by id \
--boundary-query 'select min(id),max(id) from table_xxx' \
--hive-overwrite \
--hive-import \
--hive-table db_xxx.table_xxx \
--query 'select id,column1_xxx,column2_xxx from table_xxx where $CONDITIONS' \
--target-dir /tmp/sqoop_table_xxx_`date +%s` \
--fields-terminated-by '\t' \
export
#删除mysql数据
mysql -u${datasource_username} -p'${datasource_password}' -h${datasource_host} -P${datasource_port} db_xxx -e "truncate table table_xxx"; sqoop export -D mapred.job.queue.name=root.offline \
--mapreduce-job-name sqoop_table_xxx \
--connect "${datasource_connect}" \
--driver "${datasource_driver}" \
--username ${datasource_username} \
--password '${datasource_password}' \
--table table_xxx \
--columns column1_xxx,column2_xxx \
--export-dir /user/hive/warehouse/db_xxx.db/table_xxx \
--mapreduce-job-name table_xxx \
--input-fields-terminated-by '\t' \
--input-null-string '\\N' \
--input-null-non-string '\\N'
sqoop 问题以及 小tips的更多相关文章
- HTML meta锚点跳转 小tips
小tips meta锚点跳转 http://www.zhangxinxu.com/wordpress/2015/03/meta-http-equiv-refresh-content/
- Windows7驱动调试小Tips
v:* { } o:* { } w:* { } .shape { }p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-botto ...
- 你不知道的JavaScript--Item17 循环与prototype最后的几点小tips
1.优先使用数组而不是Object类型来表示有顺序的集合 ECMAScript标准并没有规定对JavaScript的Object类型中的属性的存储顺序. 但是在使用for..in循环对Object中的 ...
- 小tips:JS之浅拷贝与深拷贝
浅拷贝: function extendCopy(p) { var c = {}; for (var i in p) { c[i] = p[i]; } return c; } 深拷贝: functio ...
- keras搭建深度学习模型的一些小tips
定义模型两种方法: 1.sequential 类仅用于层的线性堆叠,这是目前最常用的网络架构 2.函数式API,用于层组成的有向无环图,让你可以构建任意形式的架构 from keras import ...
- 申请MVP奖励时的小Tips
大家新年好,今天MSPrecious为大家带来一些申请MVP奖励时的小Tips. 本文分为三个部分 MVP是什么 如何申请MVP 申请MVP需要注意的事项 MVP是什么? 我想,点进来看这篇文章的 ...
- 整理一些《纸书科学计算器》的小Tips
本文最开始是在2016年的文章 Win10应用<纸书科学计算器>更新啦! 发表之后撰写的,当时那篇文章收到了不少人点赞,应用在国内市场的日下载量也突然上涨,让我感到受宠若惊,这里要感谢Wp ...
- 最近工作的一点小tips
最近工作比较忙,但也积累了一些小tips,比较杂,不成系统,也并不很深入,就开一篇笼统的先记录一下,以后再深入挖掘. 1.-webkit-tap-highlight-color -webkit-tap ...
- Unity3D性能优化小tips——把this.transform缓存缓存起来
Unity3D开发时中有一个小tips,这在官方的文档里其实有提及的,但不那么显眼,这里小说一下: 在MonoBehaviour进行编程时,我们经常会用this.transform, this.gam ...
随机推荐
- 5. Web vulnerability scanners (网页漏洞扫描器 20个)
5. Web vulnerability scanners (网页漏洞扫描器 20个) Burp Suite是攻击Web应用程序的集成平台. 它包含各种工具,它们之间有许多接口,旨在方便和加快攻击应用 ...
- salt+jenkins+gitlab+ecs构建公司部署平台
1.网络架构图如下 2.采用这种方案的原因 1.现网机器都在各个省机房内网,或者堡垒机内部.无法直接从公司总部ssh到各个现网机器 2.现网机器可以访问到公网.因此可以从公网下载制作的tar包 3.每 ...
- Freescale MKL16Z1288VF4 芯片调试接口
WDOG监视内部系统操作,并在发生故障时强制复位.它可以运行在一个独立的1 kHz低功率振荡器,具有可编程刷新窗口,以检测程序流或系统频率的偏差. 看门狗计时器保持一个时间在系统上运行,并重置它,以防 ...
- layui:数据表格如何合并单元格
layui.use('table', function () { var table = layui.table; table.render({ elem: '#applyTab' , url: '$ ...
- .NET MVC 表主外键关系 JSON 无限循环 方案二(推荐)
public class JsonResultObject:JsonResult { private Newtonsoft.Json.JsonSerializerSettings Settings { ...
- 多次ajax请求数据json出错
问题描述: 1.对象数据存放在session中,每次从session中取数据 2.jsp初始化完毕调用ajax请求,返回的数据格式出错(返回部分数据,即丢失了部分数据) 解决方案:
- php7 date函数警告去除
在代码头上添加 date_default_timezone_set("PRC");
- mysql主从原理及配置
一.mysql集群架构: 1.一主一从 2.双主 3.一主多从(扩展mysql的读性能) 4.多主一从(5.7开始支持) 5.联机复制 关系图: 二.配置主从用途及条件 2.1用途 1.保障可用性,故 ...
- C# .NET 按ASCII 从小到大排序
//C#的SortedDictionary<string,string>集合对key不是按照ascii码排序的因为他没有区分大小写,这就是个差别. 如果参数名中间有大写,小写,数字,Sor ...
- Emoji表情代码大全
Name Unified DoCoMo KDDI Softbank Google Wechat black sun with rays U+2600 U+E63E U+E488 U+E04A ...