Sqoop导入导出的几个例子

 
node2
Sqoop参数介绍_其他命令_导入导出

导入

例一:从DBMS到HDFS
1.node4下启动mysql
service mysqld start
mysql -u root -p
输入密码:123
 
2.node4下创建test数据库
create database test;
创建psn表

 
3.node2中创建sqoop_test,编辑sqoop1

  1. import
  2. --connect
  3. jdbc:mysql://node4/test
  4. --username
  5. root
  6. --password
  7. 123
  8. --as-textfile
  9. --columns
  10. id,name,msg
  11. --table
  12. psn
  13. --delete-target-dir
  14. --target-dir
  15. /sqoop/data
  16. -m
  17. 1
 
4.执行命令--从DBMS导入到HDFS
  1. sqoop --options-file sqoop1//选项使用脚本
sqoop --options-file sqoop1

 

 
 
 
 
例二:从DBMS到Hive
注意!
$CONDITIONS规定

--as-textfile  //以文本的方式进行存储

/sqoop/tmp先将数据导入hdfs的临时目录,再将数据导入hive的目录
 
1.node4下启动mysql
service mysqld start
mysql -u root -p
输入密码:123
 
2.node4下创建test数据库
create database test;
创建psn表

 
3.node2中创建sqoop_test,编辑sqoop2
-e,--query和--table两个选项是冲突的,因为一个是指定单表,一个是指定多表的导入;
--warehouse-dir指定导入到hive中的时候到底从哪个目录下面导入;这个选项和hive中的warehouse-dir
配置项很像;
--hive-home指定hive的安装目录,如果节点上面配置了环境变量,并且导入了需要的jar包,那么就不需要
指定了;
 
sqoop将关系型数据库中的数据导入到hive中去的话,首先需要将数据导入到hdfs上面,因此需要先指定
hdfs上面一个临时存储这些数据的目录,然后才会把hdfs上面的数据导入到hive中去;也就是首先使用mr
到hdfs上面,然后在创建hive的表;可以再打开一个终端,查看hive中的表创建的情况;创建的时候
首先在mysql通过查看表字段,然后在hive中创建;我们没有指定hive表存放在什么位置。这个位置是由
hive的配置文件指定的,需要在那个位置查看;
  1. import
  2. --connect
  3. jdbc:mysql://node4/test
  4. --username
  5. root
  6. --password
  7. 123
  8. --as-textfile
  9. --query
  10. 'select id, name, msg from psn where id like "1%" and $CONDITIONS'
  11. --delete-target-dir
  12. -target-dir
  13. /sqoop/tmp
  14. -m
  15. 1
  16. --hive-home
  17. /home/hive-1.2.1
  18. --hive-import
  19. --create-hive-table
  20. --hive-table
  21. t_test
 
4.执行命令--从DBMS导入到Hive
先启动hive服务端node2:    hive --service metastore
再启动hive客户端node1:

    hive
sqoop --options-file sqoop2

node1查看表t_test是否生成

 

导出

例三:从HDFS到DBMS

指定HDFS中数据对应的目录
 
1.node4下启动mysql
service mysqld start
mysql -u root -p
输入密码:123
 
2.node4下创建test数据库
create database test;
创建h_psn表

 
 
3.node2中创建sqoop_test,编辑sqoop3
  1. export
  2. --connect
  3. jdbc:mysql://node4/test
  4. --username
  5. root
  6. --password
  7. 123
  8. -m
  9. 1
  10. --columns
  11. id,name,msg
  12. --export-dir
  13. /sqoop/data
  14. --table
  15. h_psn
4.执行sqoop命令

查看mysql中的表,看数据是否导入

 
 
 
例四:从Hive到DBMS

 
 
 

 
 

附件列表

Sqoop导入导出的几个例子的更多相关文章

  1. sqoop导入导出对mysql再带数据库test能跑通用户自己建立的数据库则不行

    sqoop对hdfs导入导出怎么操作这里我就不多说了 现在说下sqoop导入导出时针对mysql后面用户手动创建的数据库导入到处遇到的问题 首先我这里搭建的是3节点集群 master slave1 s ...

  2. sqoop导入导出

    sqoop产生背景 什么是sqoop sqoop的优势 sqoop1与sqoop2的比较 为什么选择sqoop1 sqoop在hadoop生态体系中的位置 sqoop基本架构 sqoop import ...

  3. Sqooop- 使用Sqoop进行数据的导入导出

    Sqoop是Apache旗下的一个开源框架,专门用来做数据的导入和导出. 官网:https://sqoop.apache.org/ Sqoop的安装非常简单,只需要把下载下来的tar包解压设置两个环境 ...

  4. Sqoop -- 用于Hadoop与关系数据库间数据导入导出工作的工具

    Sqoop是一款开源的工具,主要用于在Hadoop相关存储(HDFS.Hive.HBase)与传统关系数据库(MySql.Oracle等)间进行数据传递工作.Sqoop最早是作为Hadoop的一个第三 ...

  5. mysql数据与Hadoop之间导入导出之Sqoop实例

    前面介绍了sqoop1.4.6的 如何将mysql数据导入Hadoop之Sqoop安装,下面就介绍两者间的数据互通的简单使用命令. 显示mysql数据库的信息,一般sqoop安装测试用 sqoop l ...

  6. 如何利用sqoop将hive数据导入导出数据到mysql

    运行环境  centos 5.6   hadoop  hive sqoop是让hadoop技术支持的clouder公司开发的一个在关系数据库和hdfs,hive之间数据导入导出的一个工具. 上海尚学堂 ...

  7. 利用sqoop将hive数据导入导出数据到mysql

    一.导入导出数据库常用命令语句 1)列出mysql数据库中的所有数据库命令  #  sqoop list-databases --connect jdbc:mysql://localhost:3306 ...

  8. sqoop与hbase导入导出数据

    环境:sqoop1.4.6+hadoop2.6+hbase1.1+mysql5.7 说明: 1.文中的导入导出的表结构借鉴了网上的某篇博客 2.mysql导入hbase可以直接通过sqoop进行 3. ...

  9. 从零自学Hadoop(16):Hive数据导入导出,集群数据迁移上

    阅读目录 序 导入文件到Hive 将其他表的查询结果导入表 动态分区插入 将SQL语句的值插入到表中 模拟数据文件下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并 ...

随机推荐

  1. JaCoCo 代码覆盖率工具(基于Maven+TestNG)

    JaCoco是一个代码覆盖率库. 官方网站:http://www.jacoco.org/ 安装: 以 Maven(http://www.testclass.net/maven/) 安装为例: < ...

  2. [LeetCode] 链表反转相关题目

    暂时接触到LeetCode上与链表反转相关的题目一共有3道,在这篇博文里面总结一下.首先要讲一下我一开始思考的误区:链表的反转,不是改变节点的位置,而是改变每一个节点next指针的指向. 下面直接看看 ...

  3. Linux(CentOS6.5)下编译安装Nginx1.10.1

    首先在特权账号(root)下安装编译时依赖项: yum install gcc gcc-c++ perl -y   首先以非特权账号(本文以账号comex为例)登陆OS: 进入data目录下载相关安装 ...

  4. Linux中ls对文件进行按大小排序和按时间排序,设置ls时间格式

    1 按文件大小排序 使用 ll -S | grep '^[^d]' // 格式化文件大小形式 ll -Sh | grep '^[^d]' 2 按文件修改时间排序显示 使用 ll -rt 3 设置ls ...

  5. C# Excel数据导入到数据库

    http://www.jb51.net/article/44743.htm 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 复制代码 代码如下: using System ...

  6. SQLServer Agent执行[分发清除: distribution] 无法删除快照文件

    由于之前创建的发布订阅造成严重的性能压力,症状表现为发布订阅表查询产生CMEMTHREAD  suspend等待,由于开发配置每隔十分钟会产生大量的SQLCOMMAND(create table,cr ...

  7. 横向、纵向时间轴timeline系列

    近期移动端项目用到了很多时间轴.纵向的.开始可以实现,但是不利于维护.整理下, 以作为备份留存学习参考.子元素的 标签的 :before实现圆点,:after实现边线border纵向时间轴,单一右边内 ...

  8. UIViewController生命周期控制-开发规范

    从网上各位iOS们收集并总结: 各方法使用: init 中初始化一些UI组件,比如UIButton,UILabel等 loadView 中 createFields 接受参数,初始化变量 create ...

  9. IE8及其以下浏览器关于圆角表框的问题

    css部分 yuan { border: 2px solid #C0C0C0; -moz-border-radius: 50%; -webkit-border-radius: 50%; border- ...

  10. 使用Python实现贪心算法

    题目: 圣诞节来临了,在城市A中,圣诞老人准备分发糖果.现在有多箱不同的糖果,每一种糖果都有自己的价值和重量.每箱糖果都可以拆分成任意散装组合带走.圣诞老人的驯鹿最多只能承受一定重量的糖果.请问圣诞老 ...