博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
sqoop 使用
阅读量:6443 次
发布时间:2019-06-23

本文共 961 字,大约阅读时间需要 3 分钟。

安装配置好之后,就可以使用啦。注意,需要自己将jdbc的jar包放到sqoop的lib目录下。

1.将数据从sqlserver导出到hdfs:

sqoop import --connect 'jdbc:sqlserver://192.168.68.90:1433;username=sa;password=sa;database=Feedback' --table user_info  --split-by 'id'   --fields-terminated-by ‘\t’  --warehouse-dir /Feedback

导出的结果存在了hdfs的:

 /Feedback/user_info/ part-m-00000

 /Feedback/user_info/ part-m-00001

 /Feedback/user_info/ part-m-00002

 /Feedback/user_info/ part-m-00003

 

等文件中,文件的内容为:

1\tabc

2\tsdfasdf
3\tzhangsan
4\tlisi

其实\t是不可见字符,为了描述出来,我就将它写了出来,在浏览hdfs的文件的时候,是看不到它的。

 

这个脚本中带了一个参数:

--split-by 'id'

这个'id'是表的主键,如果该表没有主键,则不能使用并行导入,需要指定并行导入的任务数为1:

  --m 1

官方是这么解释的:

-m,--num-mappers 
Use n map tasks to import in parallel

 

导入的脚本就得这么写了:

sqoop import --connect 'jdbc:sqlserver://192.168.68.90:1433;username=sa;password=sa;database=Feedback' --table user_info  --fields-terminated-by '\t' -m 1  --warehouse-dir /Feedback

 

这样的job的map数只有1.所以输出文件也就只有一个了。

 

 

 

 

 

 

转载于:https://www.cnblogs.com/sixiweb/p/3372448.html

你可能感兴趣的文章
八皇后,回溯与递归(Python实现)
查看>>
程序员的微创业
查看>>
什么是以太坊
查看>>
刷前端面经笔记(九)
查看>>
针对前端开发可重用组件并发布到NPM
查看>>
Android组件化探索与实践
查看>>
开发笔记2 | Java 代码规约第1条
查看>>
Vue.js 子组件的异步加载及其生命周期控制-------异步加载子组件,子组件的生命周期控制过程不一样...
查看>>
编写可维护的JavaScript
查看>>
高效的CSS代码(2)
查看>>
朱兰的质量三部曲——《可以量化的管理学》
查看>>
丰田生产方式和TOC工序切换时间的解决
查看>>
2017年勒索软件、物联网攻击将继续肆虐
查看>>
用友网络董事长王文京为何出现在乌镇大会中?
查看>>
大学团队打造手语翻译机器人,完整安装下来需要149个小时
查看>>
Wireshark抓包分析/TCP/Http/Https及代理IP的识别
查看>>
不同包下,相同数据结构的两个类进行转换
查看>>
软件安装(linux)
查看>>
TeamPlain for VSTS - Web Access for Team System-TFS 跨平台的客户端
查看>>
面对前车之鉴的AR,现在的VR要做些什么?
查看>>