热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

sqoop适用的数据源_sqoop数据迁移工具

sqoop:HDFS数据库数据迁移工具(注:代码为了表达清晰做了换行,运行时请放在一行中,使用空格隔开,或者加

sqoop:HDFS 数据库 数据迁移工具

(注:代码为了表达清晰做了换行,运行时请放在一行中,使用空格隔开,或者加’\’进行行连接)

一.安装:安装在一台节点上

1.上传sqoop

2.安装和配置

在profiles中添加sqoop到环境变量

将数据库连接驱动拷贝到$SQOOP_HOME/lib里

二.使用

第一类:数据库中的数据导入到HDFS上

指定列 –columns

./sqoop import

--connect jdbc:mysql://192.168.1.10:3306/itcast

--username root

--password 123

--table trade_detail

--columns 'id, account, income, expenses'

如果不指定列,则默认导出所有的列,代码例如:

./sqoop import

--connect jdbc:mysql://192.168.1.102:3306/estore

--username root

--password 123

--table orders

指定输出路径 –target-dir、指定数据分隔符–fields-terminated-by(如果不指定,默认为” , “)

./sqoop import

--connect jdbc:mysql://192.168.1.10:3306/database

--username root

--password 123

--table tablename

--target-dir '/sqoop/td'(hdfs的目录)

--fields-terminated-by '\t'

./sqoop import

--connect jdbc:mysql://192.168.1.102:3306/estore

--username root

--password 123

--table orders

--target-dir /sqoop

指定Map数量 -m

./sqoop import

--connect jdbc:mysql://192.168.1.10:3306/itcast

--username root

--password 123

--table trade_detail

--target-dir '/sqoop/td1'

--fields-terminated-by '\t'

-m 2

增加where条件 –where, 注意:条件必须用引号’ ‘引起来

./sqoop import

--connect jdbc:mysql://192.168.1.10:3306/itcast

--username root

--password 123

--table trade_detail

--where 'id>3'

--target-dir '/sqoop/td2'

增加query语句(语句默认写一行里面,使用‘ \ ’将语句换行)

./sqoop import

--connect jdbc:mysql://192.168.1.10:3306/itcast

--username root

--password 123 \

--query 'SELECT * FROM trade_detail where id > 2 AND $CONDITIONS'

--split-by trade_detail.id

--target-dir '/sqoop/td3'

导出estore数据库中orders中id<5的表记录&#xff0c; 指定启动1个mapper&#xff0c;HDFS目标目录: /sqoop/td4

./sqoop import

--connect jdbc:mysql://192.168.1.102:3306/estore

--username root

--password 123

--query &#39;select * from orders where id <5 and $CONDITIONS&#39;

-m 1

--target-dir /sqoop/td4 (字符转义有错 在记事本里敲一遍再运行)

注意&#xff1a;如果使用–query这个命令的时候&#xff0c;需要注意的是where后面的参数&#xff0c;AND $CONDITIONS这个参数必须加上

而且存在单引号与双引号的区别&#xff0c;如果–query后面使用的是双引号&#xff0c;那么需要在$CONDITIONS前加上 \ 转义 即 \$CONDITIONS

增加–split-by 语句(指定以哪一列为标准来划分每个mapper的任务&#xff0c;仅适用于-m参数>&#61;2的情况)

./sqoop import

--connect jdbc:mysql://192.168.1.102:3306/estore

--username root

--password 123

--query &#39;select * from orders where id <5 and $CONDITIONS&#39; -m 1

--target-dir /sqoop/td4

--split-by user_id

注&#xff1a;如果设置map数量为1个时即-m 1&#xff0c;不用加上–split-by ${tablename.column}&#xff0c;否则需要加上(指定多个mapper)

第二类&#xff1a;将HDFS上的数据导出到数据库中( 不要忘记指定分隔符(默认是“,”))

./sqoop export

--connect jdbc:mysql://192.168.8.120:3306/itcast

--username root

--password 123

--export-dir &#39;/td3&#39;

--table td_bak -m 1

--fields-terminated-by &#39;,&#39;

注意&#xff1a;导出数据时&#xff0c;要清楚源数据的列分隔符是什么&#xff0c;并且要求如果不是默认的分隔符&#xff0c;一定要指定出来

指定分隔符 –fields-terminated-by

--fields-terminated-by &#39;,&#39;

以逗号作为分隔符

4.配置mysql远程连接

GRANT ALL PRIVILEGES ON itcast.* TO &#39;root&#39;&#64;&#39;192.168.1.201&#39; IDENTIFIED BY &#39;123&#39; WITH GRANT OPTION;

FLUSH PRIVILEGES;

GRANT ALL PRIVILEGES ON *.* TO &#39;root&#39;&#64;&#39;%&#39; IDENTIFIED BY &#39;123&#39; WITH GRANT OPTION;

FLUSH PRIVILEGES



推荐阅读
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • MPLS VP恩 后门链路shamlink实验及配置步骤
    本文介绍了MPLS VP恩 后门链路shamlink的实验步骤及配置过程,包括拓扑、CE1、PE1、P1、P2、PE2和CE2的配置。详细讲解了shamlink实验的目的和操作步骤,帮助读者理解和实践该技术。 ... [详细]
  • 本文介绍了如何使用elementui分页组件进行分页功能的改写,只需一行代码即可调用。通过封装分页组件,避免在每个页面都写跳转请求的重复代码。详细的代码示例和使用方法在正文中给出。 ... [详细]
  • Java太阳系小游戏分析和源码详解
    本文介绍了一个基于Java的太阳系小游戏的分析和源码详解。通过对面向对象的知识的学习和实践,作者实现了太阳系各行星绕太阳转的效果。文章详细介绍了游戏的设计思路和源码结构,包括工具类、常量、图片加载、面板等。通过这个小游戏的制作,读者可以巩固和应用所学的知识,如类的继承、方法的重载与重写、多态和封装等。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • ubuntu用sqoop将数据从hive导入mysql时,命令: ... [详细]
  • 深入理解CSS中的margin属性及其应用场景
    本文主要介绍了CSS中的margin属性及其应用场景,包括垂直外边距合并、padding的使用时机、行内替换元素与费替换元素的区别、margin的基线、盒子的物理大小、显示大小、逻辑大小等知识点。通过深入理解这些概念,读者可以更好地掌握margin的用法和原理。同时,文中提供了一些相关的文档和规范供读者参考。 ... [详细]
  • 导出功能protectedvoidbtnExport(objectsender,EventArgse){用来打开下载窗口stringfileName中 ... [详细]
  • 本文介绍了在wepy中运用小顺序页面受权的计划,包含了用户点击作废后的从新受权计划。 ... [详细]
  • 本文介绍了如何在Mac上使用Pillow库加载不同于默认字体和大小的字体,并提供了一个简单的示例代码。通过该示例,读者可以了解如何在Python中使用Pillow库来写入不同字体的文本。同时,本文也解决了在Mac上使用Pillow库加载字体时可能遇到的问题。读者可以根据本文提供的示例代码,轻松实现在Mac上使用Pillow库加载不同字体的功能。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • NotSupportedException无法将类型“System.DateTime”强制转换为类型“System.Object”
    本文介绍了在使用LINQ to Entities时出现的NotSupportedException异常,该异常是由于无法将类型“System.DateTime”强制转换为类型“System.Object”所导致的。同时还介绍了相关的错误信息和解决方法。 ... [详细]
  • Python已成为全球最受欢迎的编程语言之一,然而Python程序的安全运行存在一定的风险。本文介绍了Python程序安全运行需要满足的三个条件,即系统路径上的每个条目都处于安全的位置、"主脚本"所在的目录始终位于系统路径中、若python命令使用-c和-m选项,调用程序的目录也必须是安全的。同时,文章还提出了一些预防措施,如避免将下载文件夹作为当前工作目录、使用pip所在路径而不是直接使用python命令等。对于初学Python的读者来说,这些内容将有所帮助。 ... [详细]
author-avatar
____晨宝_507
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有