sqoop

测试 Sqoop 是否能够成功连接数据库
sqoop list-databases --connect jdbc:mysql//k200:3306/ --username root --password root

create database jinghang;

create table student(
id int(4) primary key not null auto_increment,
name varchar(255),
gender varchar(255));

insert into student(name, gender) values('banzhang', 'Male');
insert into student(name, gender) values('banzhangxifu', 'FeMale');
---------------------------------------------------------------------------------
导入数据:
1-全部导入
sqoop import \
--connect jdbc:mysql://k200:3306/test \
--username root \
--password root \
--target-dir /user/xuetong/student \
--delete-target-dir \
--num-mappers 1 \
--fields-terminated-by "\t" \
--table student
2:查询导入
###
--query 'select name,gender from student where id <=1 and $CONDITIONS; '

注意:must contain '$CONDITIONS' in WHERE clause.
注意:如果 query 后使用的是双引号,则$CONDITIONS 前必须加转移符,防止 shell
识别为自己的变量。
注意:--query 选项,不能同时与--table 选项使用
3:导入指定列
***
--columns id,gender \
--table student
***
--table student \
--where "id=1"
-------------------------------------------------------------------------------------
Mysql---导入到Hive
sqoop import \
--connect jdbc:mysql://k200:3306/test \
--username root \
--password root \
--table student \
--delete-target-dir \
--num-mappers 1 \
--hive-import \
--fields-terminated-by "\t" \
--hive-overwrite \
--hive-table student_hive

注意:该过程分为两步,第一步将数据导入到 HDFS,第二步将导入到 HDFS 的数据迁移到 Hive 仓库
注意:第一步默认的临时目录是/user/root/表名

--------------------------------------------------------------------------------------
Hive---导入到MySQL
sqoop export \
--connect jdbc:mysql://k200:3306/test \
--username root \
--password root \
--table emp \
--num-mappers 1 \
--export-dir /user/hive/warehouse/hi_1.db/emp \
--input-fields-terminated-by "\t"
注意:Mysql 中如果表不存在,不会自动创建

create table emp (
empno int(23),
ename varchar(233),
job varchar(233),
mgr int(23),
hiredate varchar(233),
sal double,
comm double,
deptno int(23));


 

脚本文件:
sqoop --options-file opt/job_HDFS2RDBMS.opt

vim job_HDFS2RDBMS.opt

export
--connect
jdbc:mysql://k200:3306/test
--username
root
--password
root
--table
location
--num-mappers
1
--export-dir
/user/hive/warehouse/location
--input-fields-terminated-by
"\t"
--------------------------------------------------------------------------------------------
create table location(
loc int(23),
loc_name varchar(233)
);

 

posted @ 2019-03-22 13:44  Vowzhou  阅读(174)  评论(0编辑  收藏  举报