一,sqoop命令
sqoop帮助查看sqoop支持哪些命令
列出的MySQL的有哪些数据库
[hadoop @ hadoop3~] $ sqoop list-databases \
> --connect jdbc:mysql:// hadoop1:3306 / \
> --username root \
> --password root
列出的MySQL的中某个数据库有哪些数据表
[hadoop @ hadoop3~] $ sqoop list-tables \
> --connect jdbc:mysql:// hadoop1:3306 / mysql \
> --username root \
> --password root
创建一张跟MySQL的的数据库中help_keyword表一样的蜂巢表香港;
sqoop create-hive-table \
--connect jdbc:mysql:// hadoop1:3306 / mysql \
--username root \
- 密码根
--table help_keyword \
--hh-table hk
二,sqoop数据导入
1.从RDBMS导入到HDFS中
常用参数:
--connect < jdbc-uri > jdbc连接地址
--connection-manager < class-name > 连接管理者
--driver < class-name > 驱动类
--hadoop-mapred-home < dir > $ HADOOP_MAPRED_HOME
--help帮助信息
-P从命令行输入密码
--password < 密码> 密码
--username < 用户名> 账号
--verbose打印流程信息
--connection-param-file < filename > 可选参数
示例:导入的MySQL的库中的help_keyword表的数据到HDFS上
导入的默认路径:/用户/ hadoop的/ help_keyword
sqoop import \
--connect jdbc:mysql:// hadoop1:3306 / mysql \
--username root \
- 密码根
--table help_keyword \
-m 1
查看导入的文件
hadoop fs -cat / user / hadoop / help_keyword / part-m-00000
指定分隔符和导入路径
sqoop import \
--connect jdbc:mysql:// hadoop1:3306 / mysql \
--username root \
- 密码根
--table help_keyword \
--target-dir / user / hadoop11 / my_help_keyword1 \
--fields-terminated-by'\ t'\
-m 2
三,把MySQL的的数据库中的表数据导入到蜂巢中
sqoop导入关系型数据到分群的过程是先导入到HDFS,然后再负载进入蜂巢
导入过程:
第一步:导入mysql.help_keyword的数据到HDFS的默认路径
第二步:自动仿造mysql.help_keyword去创建一张蜂巢表,创建在默认的默认库中
第三步:把临时目录中的数据导入到蜂巢表中
参考博客:https://www.cnblogs.com/qingyunzong/p/8807252.html
查看数据
hadoop fs - cat / user / hive / warehouse / help_keyword / part - m - 00000
指定行分隔符和列分隔符,指定蜂巢进口,指定覆盖导入,指定自动创建蜂巢表,指定表名,指定删除中间结果数据目录
sqoop import \
- 连接jdbc:mysql:// hadoop1:3306 / mysql \
- 用户名root \
- 密码root \
- 表help_keyword \
- 字段终止 - “\ t”\
- 行终止 - “\ n”\
- hive-import \
- hive-overwrite \
- create-hive-table \
- delete-target-dir \
- hive-database mydb_test \
- hive-table new_help_keyword
手动创建mydb_test数据块
hive > create database mydb_test;
好
所用时间: 6.147 秒
hive>