sqoop_百度百科


本站和网页 https://baike.baidu.com/item/sqoop/5033853 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

sqoop_百度百科
百度首页
网页
新闻
贴吧
知道
网盘
图片
视频
地图
文库
百科
进入词条
全站搜索
帮助
清除历史记录关闭
近期有不法分子冒充百度百科官方人员,以删除词条为由威胁并敲诈相关企业。在此严正声明:百度百科是免费编辑平台,绝不存在收费代编服务,请勿上当受骗!详情>>
首页
历史上的今天
百科冷知识
图解百科
秒懂百科
懂啦
秒懂本尊答
秒懂大师说
秒懂看瓦特
秒懂五千年
秒懂全视界
特色百科
数字博物馆
非遗百科
恐龙百科
多肉百科
艺术百科
科学百科
用户
蝌蚪团
热词团
百科校园
分类达人
百科任务
百科商城
知识专题
权威合作
合作模式
常见问题
联系方式
下载百科APP
个人中心
sqoop
播报
编辑
锁定
讨论
上传视频
特型编辑
开源的工具
收藏
查看我的收藏
有用+1
已投票
Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。
外文名
sqoop
所属学科
大数据
发 音
skup
起始时间
2009年
作 用
数据迁移
目录
出现背景
特征
注意事项
常用命令
示例
sqoop出现背景
编辑
播报
Apache框架Hadoop是一个越来越通用的分布式计算环境,主要用来处理大数据。随着云提供商利用这个框架,更多的用户将数据集在Hadoop和传统数据库之间转移,能够帮助数据传输的工具变得更加重要。Apache Sqoop就是这样一款工具,可以在Hadoop和关系型数据库之间转移大量数据。
sqoop特征
编辑
播报
对于某些NoSQL数据库它也提供了连接器。Sqoop,类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理。Sqoop专为大数据批量传输设计,能够分割数据集并创建maptask任务来处理每个区块。
sqoop注意事项
编辑
播报
尽管有以上的优点,在使用Sqoop的时候还有一些事情需要注意。首先,对于默认的并行机制要小心。默认情况下的并行意味着Sqoop假设大数据是在分区键范围内均匀分布的。这在当你的源系统是使用一个序列号发生器来生成主键的时候工作得很好。打个比方,当你有一个10个节点的集群,那么工作负载是在这10台服务器上平均分配的。但是,如果你的分割键是基于字母数字的,拥有比如以“A”作为开头的键值的数量会是“M”作为开头键值数量的20倍,那么工作负载就会变成从一台服务器倾斜到另一台服务器上。如果你最担心是性能,那么可以研究下直接加载。直接加载绕过通常的Java数据库连接导入,使用数据库本身提供的直接载入工具,比如MySQL的mysqldump。但是有特定数据库的限制。比如,你不能使用MySQL或者PostgreSQL的连接器来导入BLOB和CLOB类型。也没有驱动支持从视图的导入。Oracle直接驱动需要特权来读取类似dba_objects和v_$parameter这样的元数据。请查阅你的数据库直连驱动程序局限性的相关文档。进行增量导入是与效率有关的最受关注的问题,因为Sqoop专门是为大数据集设计的。Sqoop支持增量更新,将新记录添加到最近一次的导出的数据源上,或者指定上次修改的时间戳。由于Sqoop将数据移入和移出关系型数据库的能力,其对于Hive—Hadoop生态系统里的著名的类SQL数据仓库—有专门的支持不足为奇。命令“create-hive-table”可以用来将数据表定义导入到Hive。
sqoop常用命令
编辑
播报
sqoop import 导入--connect jdbc:mysql://127.0.0.1:3306/$db_name 连接数据库--username root 数据库用户名--password root 数据库密码--target-dir /origin_data/$db_name/db/$1/$db_date HDFS地址--table db_table 源头数据表--delete-target-dir HDFS地址存在删除--num-mappers $2 \--split-by $3 maptask数量--input-null-string '\\N' 空值转换--input-null-non-string '\\N' 非空字符串替换--fields-terminated-by "\t" 字符串分割--query "$4"' and $CONDITIONS;'-hive-home <dir> 重写$HIVE_HOME-hive-import 插入数据到hive当中,使用hive的默认分隔符-hive-overwrite 重写插入-create-hive-table 建表,如果表已经存在,该操作会报错-hive-table <table-name> 设置到hive当中的表名-hive-drop-import-delims 导入到hive时删除 \n, \r, and \0001-hive-delims-replacement 导入到hive时用自定义的字符替换掉 \n, \r, and \0001-hive-partition-key hive分区的key-hive-partition-value <v> hive分区的值-map-column-hive <map> 类型匹配,sql类型对应到hive类型
sqoop示例
编辑
播报
sqoop import \--connect jdbc:mysql://127.0.0.1(可以使用虚拟机名称):3306/database \--username root \--password root \--table tablename \--target-dir /a/a--delete-target-dir \--num-mappers 1 \--fields-terminated-by "\t"zhua曲子白渡白颗
百度百科内容由网友共同编辑,如您发现自己的词条内容不准确或不完善,欢迎使用本人词条编辑服务(免费)参与修正。立即前往>>
词条图册
更多图册
图集
sqoop的概述图(2张)
V百科往期回顾
词条统计
浏览次数:次
编辑次数:26次历史版本
最近更新:
钰辞
(2022-03-18)
出现背景
特征
注意事项
常用命令
示例
为您推荐广告
新手上路
成长任务
编辑入门
编辑规则
本人编辑
我有疑问
内容质疑
在线客服
官方贴吧
意见反馈
投诉建议
举报不良信息
未通过词条申诉
投诉侵权信息
封禁查询与解封
©2022 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号
京公网安备11000002000001号
进入词条
清除历史记录关闭
播报
编辑
讨论
收藏
登录
扫码下载百科APP
领取50财富值奖励
分享到微信朋友圈
打开微信“扫一扫”即可将网页分享至朋友圈
选择朗读音色
00:00
00:00