声明:作者原创,转载注明出处。

作者:帅气陈吃苹果

一、安装Sqoop

1、下载sqoop,解压、文件夹重命名

wget http://mirror.bit.edu.cn/apache/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gztar -zxvf sqoop-1.4.6.bin_hadoop-2.0.4.alpha.tar.gz  -C /root/hadoop/mv sqoop-1.4.6.bin_hadoop-2.0.4.alpha sqoop-1.4.6

2、配置环境变量

vim /etc/profile
export SQOOP_HOME=/root/hadoop/sqoop-1.4.6export PATH = $PATH:$SQOOP_HME/bin

3、验证

若正常显示Sqoop版本信息,则安装配置成功:

[root@localhost ~ ] # sqoop version

二、创建数据库和表

安装MySql后,创建测试数据库和测试表。

数据库名:test

表结构:point(pointId int(10) PRIMARYKEY,pointName varchar(16),pointValue int(10))

三、shell脚本生成测试数据

编写Shell脚本,此处的插入语句需要根据所创建的表结构来修改:

#!/bin/bash
i=1;
MAX_INSERT_ROW_COUONT=$1;
while(( $i <= $MAX_INSERT_ROW_COUNT ))
domysql -uhive -phive test -e "insert into test.point(pointId,pointName,pointValue) values($i,'point"$i"',$i);"i=(($i+1))
done
exit 0

上述脚本生成测试数据速度很慢,笔者生成1000万条数据有如怀胎十月,欢迎建议,感谢!

四、MySql数据导入

MySQL作为数据源时,Sqoop需要依赖MySQL数据库连接驱动包,下载地址:https://dev.mysql.com/get/Dow...

下载后解压,将mysql-connector-java-5.1.45文件夹下的mysql-connector-java-5.1.44-bin.jar包拷贝到$SQOOP_HOME/lib目录下即可。

1、导入HDFS

sqoop import --connect jdbc:mysql://localhost:3306/test --username hive --password hive  --table
point
参数解析:

import:表示从传统数据库导入数据到 HDFS/HIVE/HBASE等;

--connect:建立数据库连接;

jdbc:mysql://localhost:3306/test:使用jdbc方式连接mysql数据库,数据库名为test;

--username:指定数据库用户名;

--password:指定数据库密码;

--table:指定表名

注意:

a)HDFS输出目录不能已经存在;

b)没有指定-m或者splite-by时,即没有指定并行度时,要导入的表必须有主键,否则会出错。

c)导入到指定目录:sqoop import --connect jdbc:mysql://localhost:3306/test --username hive --password hive --table point --target-dir /directory

如果没有指定输出目录,默认在/user/root/下创建一个与表名一致的子目录作为输出目录,导入操作执行后,查看HDFS中是否有导入的文件:

hdfs dfs -ls /user/root/point/

2、导入HBase

sqoop import --connect jdbc:mysql://localhost:3306/test --username root --password root --table
point --hbase-table HPoint --column-family info --hbase-row-key pointId --hbase-create-table
参数解析:

--hbase-table:指定导入到HBase数据库中某表;

--column-family:指定列族名;

--hbase-row-key:指定rowKey;

--hbase-create-table:表示按照参数创建HBase中的表;

最后,欢迎指正。喜欢的话,点个赞呗,请你吃苹果。

利用Sqoop将MySQL海量测试数据导入HDFS和HBase相关推荐

  1. sqoop实现Mysql、Oracle与hdfs之间数据的互导

    通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据 SQOOP的描述 SQOOP是用于对数据进行导入导出的. (1)把MySQL.Oracle等数据库中的数据导入到HD ...

  2. 用sqoop将mysql的数据导入到hive表中,原理分析

    Sqoop 将 Mysql 的数据导入到 Hive 中 准备Mysql 数据 如图所示,准备一张表,数据随便造一些,当然我这里的数据很简单. 编写命令 编写参数文件 个人习惯问题,我喜欢把参数写到文件 ...

  3. MySQL通过接口导入hive_利用Sqoop将MySQL数据导入Hive中

    参考 http://www.cnblogs.com/iPeng0564/p/3215055.html http://www.tuicool.com/articles/j2yayyj http://bl ...

  4. 利用Sqoop在数据库和Hive、HDFS之间做ETL操作

    文章目录 @[toc] 目录: 一.利用Sqoop,从Oracle到HDFS 二.利用Sqoop,从Oracle到Hive 三.遇到的问题 目录: 一.利用Sqoop,从Oracle到HDFS 第一步 ...

  5. 利用Java进行MySql数据库的导入和导出

    来源:http://www.51testing.com/html/89/n-807989.html 利用Java来进行Mysql数据库的导入和导出的总体思想是通过Java来调用命令窗口执行相应的命令. ...

  6. java导出mysql数据库失败_利用Java进行MySql数据库的导入和导出

    利用Java来进行Mysql数据库的导入和导出的总体思想是通过Java来调用命令窗口执行相应的命令. MySql导出数据库的命令如下: mysqldump -uusername -ppassword  ...

  7. sqoop从mysql导入数据到hdfs_利用Sqoop将数据从数据库导入到HDFS

    基本使用 如下面这个shell脚本: #Oracle的连接字符串,其中包含了Oracle的地址,SID,和端口号 CONNECTURL=jdbc:oracle:thin:@20.135.60.21:1 ...

  8. 用sqoop将mysql的数据导入到hive表

    一.先将mysql一张表的数据用sqoop导入到hdfs 1.1.先在mysql中准备一张测试用的表 mysql> desc user_info; +-----------+---------- ...

  9. hive kerberos java_Kerberos身份验证错误 - Sqoop通过Hive从SQL导入HDFS

    我给出了以下Sqoop命令: sqoop import \ --connect "jdbc:sqlserver://ServerName:1433;databaseName=TESTDB;i ...

最新文章

  1. JavaBean中DAO设计模式介绍
  2. 同步电路设计的一些问题(时序分析基础,同步电路设计规则)
  3. python双轴折线图是什么意思_操作-简易图形-折线图
  4. Vagrant安装centos7时一直报错无法保存文件
  5. Java监听器完整入门实例
  6. Android SharedFlow详解
  7. 一个简单的拖动层(兼容IE,FF)
  8. 见证中国技术成长 数据技术嘉年华的别样十年
  9. python调用sqlplus执行_python可以调用sqlplus吗?
  10. 201521123009 《Java程序设计》第11周学习总结
  11. linux看磁盘空间du df,df与du查看磁盘空间使用不一致的解决方法
  12. WrapperClass
  13. mina框架详解-小白收藏
  14. Springcloud电子商城系统 java B2B2C-服务消费者(rest+ribbon)
  15. ARM板更改系统时期和时间
  16. 计算机显示器有几个接口,电脑显示器的接口有几种?有哪些区别又要如何挑选呢?长知识了!...
  17. 格美家具网站项目总结
  18. hbase 使用lzo_hadoop hbase lzo 安装
  19. 首都经贸计算机考研怎么样,【考研心路历程】首都经贸大学考研的回忆与感悟...
  20. css引入本地字体文件,关于css中引入字体文件

热门文章

  1. Django运维后台的搭建之二:建立template和对应的ModelForm
  2. 声音分析软件公司Cogito完成1500万美元B轮融资
  3. Apple watch 开发指南(1) 预览
  4. Web Services 详解
  5. LinuxIP设置,网络负载
  6. webservice传送XML大小估算
  7. java如何创建一个两个数的队列_java线程池 如何构建一个线程立即到拉到MAX数量跑业务,线程到MAX了,额外的队列可以存储任务的线程池...
  8. Prometheus之kubernetes-sd自动发现
  9. think php 缩放图片,THINKPHP+JS实现缩放图片式截图的实现
  10. linux编译ace,Linux下编译ACE