15.sqoop数据从mysql里面导入到HDFS里面
表数据
在mysql中有一个库userdb中三个表:emp, emp_add和emp_contact
表emp
id |
name |
deg |
salary |
dept |
1201 |
gopal |
manager |
50,000 |
TP |
1202 |
manisha |
Proof reader |
50,000 |
TP |
1203 |
khalil |
php dev |
30,000 |
AC |
1204 |
prasanth |
php dev |
30,000 |
AC |
1205 |
kranthi |
admin |
20,000 |
TP |
表emp_add:
id |
hno |
street |
city |
1201 |
288A |
vgiri |
jublee |
1202 |
108I |
aoc |
sec-bad |
1203 |
144Z |
pgutta |
hyd |
1204 |
78B |
old city |
sec-bad |
1205 |
720X |
hitec |
sec-bad |
表emp_conn:
id |
phno |
|
1201 |
2356742 |
gopal@tp.com |
1202 |
1661663 |
manisha@tp.com |
1203 |
8887776 |
khalil@ac.com |
1204 |
9988774 |
prasanth@ac.com |
1205 |
1231231 |
kranthi@tp.com |
分别创建三个表
create table emp(
id int,
name varchar(),
deg varchar(),
salary int,
dept varchar()
);
导入数据
insert into emp values(,'gopal','manager',,'TP');
insert into emp values(,' manisha ',' Proof reader',,'TP');
insert into emp values(,' khalil','php dev',,'AC');
insert into emp values(,' prasanth',' php dev',,'AC');
insert into emp values(,' kranthi',' admin',,'TP');
create table emp_add(
id int,
hno varchar(),
street varchar(),
city varchar()
);
导入数据
insert into emp_add values(,'288A','vgiri','jublee');
insert into emp_add values(,'','aoc','sec-bad');
insert into emp_add values(,'144Z','pguttai','hyd');
insert into emp_add values(,'78B','old city','sec-bad');
insert into emp_add values(,'720X','hitec','sec-bad');
create table emp_conn(
id int,
phno int,
email varchar()
);
导入数据
insert into emp_conn values(,'','gopal@tp.com');
insert into emp_conn values(,'','manisha@tp.com');
insert into emp_conn values(,'','khalil@ac.com');
insert into emp_conn values(,'','prasanth@ac.com');
insert into emp_conn values(,'','kranthi@tp.com');
删除HDFS的目录
从MySQL数据库服务器中的emp表导入HDFS
bin/sqoop import \
--connect jdbc:mysql://node1:3306/userdb \
--username sqoop \
--password sqoop \
--table emp --m
查看HDSF上的内容
接下来把Mysql的数据导入到Hive里面
先启动Hive
在导入之前先把HDFS的/user/hadoop/emp删除,因为Hive的数据是存放在HDFS上
导入到hive表里面
[hadoop@node1 sqoop]$ bin/sqoop import --connect jdbc:mysql://node1:3306/userdb --username sqoop --password sqoop --table emp --hive-import --m 1
查看HDFS文件
查看hive里面的表
从mysql数据库中导入到HDFS中的指定目录
bin/sqoop import \
--connect jdbc:mysql://node1:3306/userdb \
--username sqoop \
--password sqoop \
--target-dir /queryresult \
--table emp_add --m
导入表数据子集
我们可以导入表的使用Sqoop导入工具,"where"子句的一个子集。它执行在各自的数据库服务器相应的SQL查询,并将结果存储在HDFS的目标目录。
下面的命令用来导入emp_add表数据的子集。子集查询检索员工ID和地址,居住城市为:Secunderabad
bin/sqoop import \
--connect jdbc:mysql://node1:3306/userdb \
--username sqoop \
--password sqoop \
--where "city ='sec-bad'" \
--target-dir /wherequery \
--table emp_add --m
查看HDFS文件内容
最新文章
- Visual Studio Productivity Power Tools居然也开源
- MemberwiseClone和DeepClone
- POJ 3744 Scout YYF I
- linux下oracle 10g的sqlplus无法使用
- EXCLE使用宏生成目录
- (转)用AGG实现高质量图形输出(一)
- JAVA XMLConfiguration解决StringXML及多节点
- OpenFileDialog
- relativelayout常用属性
- HDU 3466 Proud Merchants(01背包)
- IOS 特定于设备的开发:基于加速计的滚动视图
- UVa340 Master-Mind Hints
- datatable,查询,排序,复制等操作
- 20140719中国互联网公司市值排名TOP20
- SpringMVC视图
- vue学习笔记2
- 【Oracle RAC】Linux系统Oracle12c RAC安装配置详细记录过程V2.0(图文并茂)
- VMware6.0-vCenter的安装准备及安装
- [转]NOI_Linux Arbiter使用手册
- Kafka C++客户端库librdkafka笔记
热门文章
- 图论之tarjan真乃神人也,强连通分量,割点,桥,双连通他都会
- 「BZOJ 2653」middle「主席树」「二分」
- docker部署项目: centos+python+redis+mysql+uwsgi+nginx
- 用sql语句查询一列名中的各个数值的个数
- AVL平衡树(非指针实现)
- 0 - Visualizing and Understanding Convolutional Networks(阅读翻译)
- html,css,js实现的一个钟表
- ASCII码,unicode码,UTF8编码,UTF16编码\ud842\udfb7
- Spring Boot中的事务管理 隔离级别
- webservice 接口报404错误问题小结