sqoop导出工具
sqoop的导出工具是把HDFS上文件中的数据导出到mysql中
mysql中的表

现在在linux上创建一个文件,并把这个文件上传到hdfs上
cat person.txt
,no7,
,no8, $ hadoop fs -mkdir person_export
$ hadoop fs -put -f person.txt person_export
$ hadoop fs -ls person_export
Found items
-rw-r--r-- supergroup -- : person_export/person.txt
一、export-dir
使用export-dir来指定导出的目录,会导出该目录下的所有文件。
$ sqoop export --connect jdbc:mysql://localhost:3306/test --username root --password 123456 --table person -m 1 --export-dir person_export
最终的效果可以在mysql中的表体现:

二、插入中文乱码问题
hdfs上的内容:
3,第7个,
4,第8个,
再次执行上面一样的export命令,在mysql中就会产生乱码:

可以使用下面的命令来解决乱码问题:
sqoop export --connect "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" --username root --password --table person -m --export-dir person_export
完成之后mysql的记录是:

三、update-key update-mode
需求hdfs文件中存在的记录做更新,不存在的记录则插入
hdfs上的文件:
,第10个,
,第11个,
,第3个,
,第4个,
执行命令:
sqoop export --connect "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" --username root --password --table person -m --export-dir person_export --update-key id --update-mode allowinsert
需要注意的是,update-mode有两种,一种是uodateonly,一种是allowinsert
执行完成之后,mysql中的数据:

四、input-fields-terminated-by
input-fields-terminated-by可以用来指定hdfs上文件的分隔符,默认是逗号
HDFS上的数据格式(以空格切分):
aaa
bbb
执行下面的命令来导出:
sqoop export --connect "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" --username root --password --table person -m --export-dir person_export --input-fields-terminated-by ' '
导出的结果是:

五、columns
使用colums来指定导出到mysql的列
hdfs上的数据格式:
aaa
bbb
执行下面的命令:
sqoop export --connect "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8" --username root --password --table person -m --export-dir person_export --input-fields-terminated-by ' ' --columns="id,name"
执行结果:

sqoop导出工具的更多相关文章
- HData——ETL 数据导入/导出工具
HData是一个异构的ETL数据导入/导出工具,致力于使用一个工具解决不同数据源(JDBC.Hive.HDFS.HBase.MongoDB.FTP.Http.CSV.Excel.Kafka等)之间数据 ...
- 用Python编写博客导出工具
用Python编写博客导出工具 罗朝辉 (http://kesalin.github.io/) CC 许可,转载请注明出处 写在前面的话 我在 github 上用 octopress 搭建了个人博 ...
- 基于jdk1.7实现的excel导出工具类
通用excel导出工具类,基于泛型.反射.hashmap 以及基于泛型.反射.bean两种方式 import java.io.*;import java.lang.reflect.Field;impo ...
- oracle数据导出工具sqluldr2
oracle数据导出工具sqluldr2可以将数据以csv.txt等格式导出,适用于大批量数据的导出,导出速度非常快.导出后可以使用oracle loader工具将数据导入.下载完sqluldr2,工 ...
- Mongodb数据导出工具mongoexport和导入工具mongoimport介绍
一.导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根据指定的条件导 ...
- ireport 导出工具类
Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,html 格式 下面是报表导出工具类 Ireport 报表导出 Poi + ireport 导出pdf, ...
- C#开发的高性能EXCEL导入、导出工具DataPie(支持MSSQL、ORACLE、ACCESS,附源码下载地址)[转]
转自:http://www.cnblogs.com/yfl8910/archive/2012/05/19/2509194.html 作为财务数据核算人员,面对大量的业务与财务数据,借助于传统的EXCE ...
- Max批量导出工具
Max批量导出工具 http://www.paulneale.com/scripts/batchItMax/batchItMax.htm Scripts Batch It Max: Batch It ...
- SequoiaDB版本升级及导入导出工具说明
升级SequoiaDB数据库指导 SequoiaDB安装路径:SDB_HOME=/opt/sequoiadb 数据存储路径:DATABASE=/ opt/sequoiadb/database 一.导出 ...
随机推荐
- 【转】深入理解Java:注解(Annotation)自定义注解入门
http://www.cnblogs.com/peida/archive/2013/04/24/3036689.html 元注解: 元注解的作用就是负责注解其他注解.Java5.0定义了4个标准的me ...
- 朗逸2011款 1.4t 清除保养告警灯
朗逸2011款 1.4t 清除保养告警灯 Posted on 2015-03-01 21:06 编辑 仪表盘上有两个按钮 按住右边set键,钥匙旋转到通电状态,保持2s. 放掉set,按左边的切换按钮 ...
- oj 中G++和C++区别(转)
1.输出double类型时,如果采用G++提交,scanf采用%lf,prinf采用%f,否则会报错 2.使用GCC/G++的提醒: 对于64位整数, long long int 和 __int64 ...
- [SQL]SQL删除数据的各种方式总结
SQL删除数据的各种方式总结 一.使用DELETE从表中删除目标行.记录每次删除操作.如: USE pubs DELETE FROM authors WHERE au_lname = 'McBadde ...
- (转)C# SSL-X509使用
X.509 给出的鉴别框架是一种基于公开密钥体制的鉴别业务密钥管理.一个用户有两把密钥:一把是用户的专用密钥(简称为:私钥),另一把是其他用户都可得到和利用的公共密钥(简称为:公钥).该鉴别框架允许用 ...
- ibatis cannot find <sql> pattern
"Could not find SQL statement to include with refid xxx"A: 认真把每个用到xxx的地方都看一遍
- Appium启动服务报错
错误信息如下: error: Could not find a device to launch. You requested 'iPhone 6 (8.4)', but the available ...
- 002..NET MVC实现自己的TempBag
原文链接:http://www.dotnetbips.com/articles/bc422c95-02cc-4d05-9c5c-fa89d0e78cc0.aspx 1.前言 本来今天是想发那篇关于在W ...
- OSGI.NET 插件无法启动之情景一
关于osgi.net 的使用网上也有不少的资料,最近在使用osgi.net 开发插件的时候,遇到了这样的bug,造成插件甚至整个项目都无法启动,异常的具体消息如下: Could not find a ...
- ubuntu server unable to resolve host
cat /etc/resolv.conf (查看resolv.conf中的内容: nameserver 是动态添加的……) #通过添加/etc/resolvconf/resolv.conf.d/bas ...