sqoop 兼容性问题
--direct 只支持mysql 5.0 + 和postgresql 8.3+(只是import)
jdbc的jar包需要放在$SQOOP_HOME/lib目录下
mysql zeroDateTimeBehavior
mysql允许DATE列使用'0000-00-00\' 如果不处理sqoop默认给转换为null
当然你也可以自己指定为 round,自动转换为('0001-01-01\')
$ sqoop import --table foo \
--connect jdbc:mysql://db.example.com/someDb?zeroDateTimeBehavior=round
mysql UNSIGNED 列
如果是UNSIGNED的,它是介于0 and ^ ()的,但是数据库会告诉sqoop,这是整形
整形的大小是介于- and \+2147483647的,超过214748364的,它处理不了。
--direct模式不支持BLOB和CLOB,不支持视图
为了性能,一般的是32MB提交一次,可以通过 -D sqoop.mysql.export.checkpoint.bytes=size来指定
它的单位是bytes,设置为0,就禁用检查点了。
在对生产环境导入数据时,用户也在用,我们通过stage表来解决稳定性的问题,肯定会对生产环境产生影响
我们可以通过设置 -D sqoop.mysql.export.sleep.ms=time 参数(单位毫秒)来让它停止一段时间
每传输sqoop.mysql.export.checkpoint.bytes个字节就休息一段时间
oracle部分
sqoop支持 ojdbc6.jar
oracle当中的DATE和TIME,都会当做是TIMESTAMP值,sqoop会当做java.sql.Timestamp来存储
当把数据导回到数据库的时候,sqoop会把它转换为 yyyy-mm-dd HH:MM:SS.ffffffff格式
但是你只希望yyyy-mm-dd格式
时区,默认是GMT
$ sqoop import -D oracle.sessionTimeZone=America/Los_Angeles \
--connect jdbc:oracle:thin:@//db.example.com/foo --table bar
hive和sql的数据类型匹配
DATE,TIME,TIMESTAMP 会被当做是字符串处置, NUMERIC和DECIMAL会被认为是double
sqoop会提醒你精度丢失了
Microsoft SQL特殊的参数
--schema <name> Scheme name that sqoop should use. Default is "dbo".
--table-hints <hints> Table hints that Sqoop should use for data movement.
$ sqoop import ... --table custom_table -- --schema custom_schema
$ sqoop import ... --table custom_table -- --table-hints NOLOCK
PostgreSQL
$ sqoop export (generic-args) --connection-manager org.apache.sqoop.manager.PGBulkloadManager (export-args)
支持参数和例子
Property Description
mapred.reduce.tasks map数量
pgbulkload.bin pg_bulkoad binary安装路径,每一台机器都有
pgbulkload.check.constraints 检查约束,默认是true
pgbulkload.parse.errors 在转义,加密,过滤,检查约束,数据类型转换中产生的错误的最大数,默认是无穷大
pgbulkload.duplicate.errors 数据重复的忍耐值. 重复值在数据库中存储是badfile,默认是无穷大
pgbulkload.filter 转换每一行为输入的数据
Here is a example of complete command line.
$ sqoop export \
-Dmapred.reduce.tasks=
-Dpgbulkload.bin="/usr/local/bin/pg_bulkload" \
-Dpgbulkload.input.field.delim=$'\t' \
-Dpgbulkload.check.constraints="YES" \
-Dpgbulkload.parse.errors="INFINITE" \
-Dpgbulkload.duplicate.errors="INFINITE" \
--connect jdbc:postgresql://pgsql.example.net:5432/sqooptest \
--connection-manager org.apache.sqoop.manager.PGBulkloadManager \
--table test --username sqooptest --export-
sqoop 兼容性问题的更多相关文章
- [sqoop1.99.7] sqoop入门-下载、安装、运行和常用命令
一.简介 Apache Sqoop is a tool designed for efficiently transferring data betweeen structured, semi-str ...
- 049 CDH商业版本的搭建(hadoop5.3.6 +hive+sqoop)
为什么使用CDH版本? 这个主要考虑到兼容性. 下载地址:http://archive.cloudera.com/cdh5/cdh/5 最新的CDH公司的hadoop版本: 一:准备工作 1.步骤 1 ...
- 数据迁移之Sqoop
一 简介 Apache Sqoop(TM)是一种用于在Apache Hadoop和结构化数据存储(如关系数据库)之间高效传输批量数据的工具 . 官方下载地址:http://www.apache.org ...
- 前端css兼容性与易混淆的点
一.常用的骨灰级清除浮动 .clearfix:after { content: "."; display: block; height:; clear: both; visibil ...
- SQL Server2008R2 在windows8上安装,出现“兼容性”和 “执行未经授权的操作”的错误!
本人是windows8.1的操作系统,亲测安装成功 解决方法如下: 1.卸载干净sql Server2008r2,包括注册表内容,删除c盘下的安装路径! 2.关闭防火墙(这步很重要) 3.断开网络连接 ...
- [转载]强制不使用“兼容性视图”的HTML代码
在IE8浏览器以后版本,都有一个"兼容性视图",让不少新技术无法使用.那么如何禁止浏览器自动选择"兼容性视图",强制IE以最高级别的可用模式显示内容呢?下面就介 ...
- 企业IT管理员IE11升级指南【16】—— 使用Compat Inspector快速定位IE兼容性问题
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 浅谈WebService的版本兼容性设计
在现在大型的项目或者软件开发中,一般都会有很多种终端, PC端比如Winform.WebForm,移动端,比如各种Native客户端(iOS, Android, WP),Html5等,我们要满足以上所 ...
- position:sticky的兼容性尝试
开篇 笔者刚刚结束淘宝的工作,现在加入了一家有青春活力的垂直电商公司,正对着阿里巴巴的西溪园区,最近一直在熟悉新的工作环境和规范,因此博客有好些时间没有更新了,在此抱歉! 在忙碌完公司的发布系统之后, ...
随机推荐
- win10 docker 安装部署
Docker 安装教程: https://blog.csdn.net/hunan961/article/details/79484098 安装docker前需要首先开启虚拟服务:重启电脑-->F ...
- [转]@PathVariable和@RequestParam的区别
请求路径上有个id的变量值,可以通过@PathVariable来获取 @RequestMapping(value = "/page/{id}", method = Request ...
- 前端表单中有按钮button自动提交表单
问题描述 在设计表单时,表单内有一个按钮<button>,该按钮是用来获取其他数据或执行其他操作的.并不是让他提交表单. 解决方案 1) 设置 form 的 onsubmit='retur ...
- Windows系统创建符号链接文件
源文件夹:E:\深海 创建新硬链接文件夹:D:\微云同步盘\719179409\4-工作资料\深海 使用快捷键Win + X 打开以下菜单,选择命令提示符(管理员) 敲入以下命令: 创建成功后 ...
- Vivado SPI Flash程序下载
由于Vivado下载程序步骤和ISE有较大差异,特此写此文章,希望对大家有所帮助. 1,下载文件生成 在.bit文件生成后,在TCL中输入 write_cfgmem -format mcs -inte ...
- 哈佛大学 Machine Learning
https://am207.github.io/2017/material.html https://am207.github.io/2017/topics.html https://am207.gi ...
- Redis高可用架构—Keepalive+VIP
最近整理一下Redis高可用架构的文档,也准备分享出来,虽然这些架构也不是很复杂.Redis的高可用方案目前主要尝试过5种方式,其中2种方式已经在线上使用. 1)Redis Master-Slave ...
- vim中权限不足时不用退出而强制保存
命令: :w !sudo tee % 此命令是把当前文件(即%)作为stdin传给sudo tee命令来执行.说起来挺绕口,其实就是:用sudo强制保存. 有时候在自己机器上折腾的时候需要更改一些 ...
- Oracle字段类型及存储(一)
Oracle中2000个byte,并不是2000个字符的意思,1个字符在Oracle中可能是1个byte到4个byte不等,需看数据库字符集的设置了. 对GBK字符集而言,ASCII码中128个字符使 ...
- LeetCode: 【L4】N-Queens 解题报告
[L4]N-Queens 解题报告 N-Queens Total Accepted: 16418 Total Submissions: 63309 My Submissions The n-queen ...