hbase mysql hdfs_Alex的Hadoop菜鸟教程:第8课Sqoop1导入Hbase以及Hive
继续写,其实mysql 导入导出 hdfs 对于实际项目开发没啥用的,但是那个可以拿来入门。今天写跟Hbase和Hive的协作。我突然发现我的教程写的顺序很凌乱啊,没有先介绍Hive 的安装,这点向大家道歉,我后面补上。 数据准备 mysql 在mysql 里面建立表 employee
继续写,其实mysql 导入导出 hdfs 对于实际项目开发没啥用的,但是那个可以拿来入门。今天写跟Hbase和Hive的协作。我突然发现我的教程写的顺序很凌乱啊,没有先介绍Hive 的安装,这点向大家道歉,我后面补上。
数据准备
mysql
在mysql 里面建立表 employee 并插入数据
CREATE TABLE `employee` (
`id` int(11) NOT NULL,
`name` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
insert into employee (id,name) values (1,'michael');
insert into employee (id,name) values (2,'ted');
insert into employee (id,name) values (3,'jack');
Hbase
hbase(main):006:0> create 'employee','info'
0 row(s) in 0.4440 seconds
=> Hbase::Table - employee
Hive
不需要数据准备,等等用--create-hive-table会自动建表
从mysql导入到Hbase
# sqoop import --connect jdbc:mysql://localhost:3306/sqoop_test --username root --password root --table employee --hbase-table employee --column-family info --hbase-row-key id -m 1
Warning: /usr/lib/sqoop/../hive-hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
14/12/01 17:36:25 INFO sqoop.Sqoop: Running Sqoop version: 1.4.4-cdh5.0.1
14/12/01 17:36:25 WARN tool.BaseSqoopTool: Setting your password on the command-line is insecure. Consider using -P instead.
14/12/01 17:36:25 INFO manager.MySQLManager: Preparing to use a MySQL streaming resultset.
14/12/01 17:36:25 INFO tool.CodeGenTool: Beginning code generation
14/12/01 17:36:26 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `employee` AS t LIMIT 1
14/12/01 17:36:26 INFO manager.SqlManager: Executing SQL statement: SELECT t.* FROM `employee` AS t LIMIT 1
14/12/01 17:36:26 INFO orm.CompilationManager: HADOOP_MAPRED_HOME is /usr/lib/hadoop-mapreduce
……中间日志太多了,用省略号代替
14/12/01 17:37:12 INFO mapreduce.ImportJobBase: Transferred 0 bytes in 37.3924 seconds (0 bytes/sec)
14/12/01 17:37:12 INFO mapreduce.ImportJobBase: Retrieved 3 records.
去检查下hbase
hbase(main):001:0> scan 'employee'
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/usr/lib/hadoop/lib/slf4j-log4j12.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/usr/lib/zookeeper/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
ROW COLUMN+CELL
1 column=info:name, timestamp=1417426628685, value=michael
2 column=info:name, timestamp=1417426628685, value=ted
3 column=info:name, timestamp=1417426628685, value=jack
3 row(s) in 0.1630 seconds
成功插入3条数据
从mysql导入hive
# sqoop import --connect jdbc:mysql://localhost:3306/sqoop_test --username root --password root --table employee --hive-import --hive-table hive_employee --create-hive-table
Warning: /usr/lib/sqoop/../hive-hcatalog does not exist! HCatalog jobs will fail.
Please set $HCAT_HOME to the root of your HCatalog installation.
Warning: /usr/lib/sqoop/../accumulo does not exist! Accumulo imports will fail.
Please set $ACCUMULO_HOME to the root of your Accumulo installation.
……………………
14/12/02 15:12:13 INFO hive.HiveImport: Loading data to table default.hive_employee
14/12/02 15:12:14 INFO hive.HiveImport: Table default.hive_employee stats: [num_partitions: 0, num_files: 4, num_rows: 0, total_size: 23, raw_data_size: 0]
14/12/02 15:12:14 INFO hive.HiveImport: OK
14/12/02 15:12:14 INFO hive.HiveImport: Time taken: 0.799 seconds
14/12/02 15:12:14 INFO hive.HiveImport: Hive import complete.
14/12/02 15:12:14 INFO hive.HiveImport: Export directory is empty, removing it.
这里说下真实环境中mysql的jdbc链接不要用localhost,因为这个任务会被分布式的发送不同的hadoop机子上,要那些机子真的可以通过jdbc连到mysql上才行,否则会丢数据
检查下hive
hive> select * from hive_employee;
OK
1michael
2ted
3jack
Time taken: 0.179 seconds, Fetched: 3 row(s)
还有一点要声明下:目前sqoop只能从mysql导入数据到hive的原生表(也就是基于hdfs存储的),无法导入数据到外部表(比如基于hbase建立的hive表)
下课!下次讲导出!
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
hbase mysql hdfs_Alex的Hadoop菜鸟教程:第8课Sqoop1导入Hbase以及Hive相关推荐
- Alex 的 Hadoop 菜鸟教程: 第5课 YARN 安装以及helloworld (基于centos的CDH)
原帖地址:http://blog.csdn.net/nsrainbow/article/details/36627675 新老MapReduce的比较 说到YARN肯定要先说下老的MapReduce ...
- Alex 的 Hadoop 菜鸟教程: 第10课 Hive 安装和使用教程
原帖地址: http://blog.csdn.net/nsrainbow/article/details/41748863 最新课程请关注原作者博客 声明 本文基于Centos 6.x + CDH 5 ...
- MySQL 数据类型(摘自菜鸟教程)
MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准S ...
- 3DMX电子沙盘和虚拟互动沙盘教程第32课 如何导入和呈现3DMAX模型
上一节我们实现了模型的移动控制.这次我们来实现模型的材质控制,首先我们找一个模型.在3dmax中如下: 可以看到这个模型很复杂.分成了很多层.我们先不管它.导入SDK后如下图: 有贴图还是比较漂亮了. ...
- 菜鸟教程python3 mysql_python基础教程使用Python操作MySQL的小技巧
1.获取插入数据的主键id import pymysql database = pymysql.connect( host="127.0.0.1", port=3306, user ...
- mysql数据排序指令_MySQL 排序 | 菜鸟教程
MySQL 排序 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段 ...
- 菜鸟教程 mysql like_MySQL LIKE 子句
MySQL LIKE 子句 我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据, 同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录. WHERE 子句中可以 ...
- mysql指令按顺序排列_MySQL 排序 | 菜鸟教程
MySQL 排序 我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据. 如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段 ...
- Docker 安装 MySQL(借鉴菜鸟教程)
Docker 安装 MySQL(借鉴菜鸟教程) docker search mysql 命令来查看可用版本 docker pull mysql:latest(这样是最新版本) docker image ...
- mysql数据库 菜鸟_MySQL数据库菜鸟教程(一)
1.MySQL安装 ? Windows系统:(解压文件)下载地址:https://dev.mysql.com/downloads/file/?id=496745 ? 解压后进入文件夹,找到bin文件下 ...
最新文章
- mysql课程id数据类型_数据库学习之六:mysql数据类型
- ANDROID开发之SQLite详解
- 正则化方法:数据增强、regularization、dropout
- 实时计算 Flink 版应用场景解读
- JavaScript函数式编程之深入理解纯函数
- warning:This application is modifying the autolayout engine from a background thread
- 漫话:如何给女朋友解释为什么Java线程没有Running状态?
- 存储过程的优缺点_普洱紧压茶与散茶的优缺点
- Android零基础入门第68节:完善RecyclerView,添加首尾视图
- 后端开发面试自我介绍_java工程师面试自我介绍范文
- ubuntu18.04桌面美化及部分应用的安装
- Java大作业——购物车
- 毕业设计源码之“油价”小程序
- JVM学习~第一天~JVM简介
- TusharePro快速入门
- (二)CDA 数据分析师Level1考试新版大纲解析(自己整理)PART 2 数据结构
- CCF系列题解--2016年9月第四题 交通规划
- R 数据可视化 03 | 圈图
- 理解G1 Remember Set(RSet)
- 一种可能提高扫到“敬业福”概率的方法