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的更多相关文章

  1. HTML meta锚点跳转 小tips

    小tips meta锚点跳转 http://www.zhangxinxu.com/wordpress/2015/03/meta-http-equiv-refresh-content/

  2. Windows7驱动调试小Tips

    v:* { } o:* { } w:* { } .shape { }p.MsoNormal,li.MsoNormal,div.MsoNormal { margin: 0cm; margin-botto ...

  3. 你不知道的JavaScript--Item17 循环与prototype最后的几点小tips

    1.优先使用数组而不是Object类型来表示有顺序的集合 ECMAScript标准并没有规定对JavaScript的Object类型中的属性的存储顺序. 但是在使用for..in循环对Object中的 ...

  4. 小tips:JS之浅拷贝与深拷贝

    浅拷贝: function extendCopy(p) { var c = {}; for (var i in p) { c[i] = p[i]; } return c; } 深拷贝: functio ...

  5. keras搭建深度学习模型的一些小tips

    定义模型两种方法:  1.sequential 类仅用于层的线性堆叠,这是目前最常用的网络架构 2.函数式API,用于层组成的有向无环图,让你可以构建任意形式的架构 from keras import ...

  6. 申请MVP奖励时的小Tips

    大家新年好,今天MSPrecious为大家带来一些申请MVP奖励时的小Tips.   本文分为三个部分 MVP是什么 如何申请MVP 申请MVP需要注意的事项 MVP是什么? 我想,点进来看这篇文章的 ...

  7. 整理一些《纸书科学计算器》的小Tips

    本文最开始是在2016年的文章 Win10应用<纸书科学计算器>更新啦! 发表之后撰写的,当时那篇文章收到了不少人点赞,应用在国内市场的日下载量也突然上涨,让我感到受宠若惊,这里要感谢Wp ...

  8. 最近工作的一点小tips

    最近工作比较忙,但也积累了一些小tips,比较杂,不成系统,也并不很深入,就开一篇笼统的先记录一下,以后再深入挖掘. 1.-webkit-tap-highlight-color -webkit-tap ...

  9. Unity3D性能优化小tips——把this.transform缓存缓存起来

    Unity3D开发时中有一个小tips,这在官方的文档里其实有提及的,但不那么显眼,这里小说一下: 在MonoBehaviour进行编程时,我们经常会用this.transform, this.gam ...

随机推荐

  1. for和for in区别

    for ... in 循环中的代买每执行一次,就会对数组的元素或者对象的属性进行一次循环操作. eg:应该用在非数组对象的遍历上,使用for-in进行循环也被称为“枚举”. for (变量 in 对象 ...

  2. windows10环境下VMware14中Ubuntu16.04解决如何上网问题

    进入控制面板,网络和Internet,网络连接 点击以太网,查看详细信息 点击属性 --> 共享,允许其他网络-->选择VMnet1 点开虚拟机编辑选项 ,选择 VMNET1 仅主机,其他 ...

  3. [小明打联盟][斜率/单调队列 优化dp][背包]

    链接:https://ac.nowcoder.com/acm/problem/14553来源:牛客网 题目描述 小明很喜欢打游戏,现在已知一个新英雄即将推出,他同样拥有四个技能,其中三个小技能的释放时 ...

  4. pycharm 01

    为了可以在pycharm中添加中文,应该在python文件第一行加入 # -*- coding: utf- -*-

  5. mybatis一级缓存

    在select  处添加useCache=false flushCache=true, mybatis默认开启一级缓存

  6. Mybatis---架构图

  7. c# 获取 bios 序列号

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.M ...

  8. neo4j通过LOAD CSV导入结点和关系

    1.neo4j默认的导入入口是:安装路径/import,所以要将csv文件放在import目录下,像下面这样: 2.导入后中文乱码: 因为neo4j是utf-8的,而CSV默认保存是ANSI的,需要用 ...

  9. [转]C#调用C++dll

    本文转载至http://www.cnblogs.com/ysharp/archive/2012/05/25/2517803.html 在合作开发时,C#时常需要调用C++DLL,当传递参数时时常遇到问 ...

  10. 利用Pluggable Protocol实现浏览器打开本地应用程序

    https://www.cnblogs.com/liushaofeng89/archive/2016/05/03/5432770.html