利用sqoop1实现大数据平台与关系型数据库之间数据交互,一些简单的例子
前提安装好sqoop1,并配置好环境变量
下边贴一点简单的例子:
1.sqoop从hdfs 中导出数据到mysql
sqoop export \
--connect "jdbc:mysql://192.168.1.148:3306/sqoop?useUnicode=true&characterEncoding=utf-8"\
--username root \
--password 123456 \
--table spark_stu\
--m 1 \ 只用一个mr
--export-dir /wtb/datatest/stu \
--input-fields-terminated-by '\t'\ 这个是定义文件使用什么分割的
--columns="city,sumprice" 导出哪些列
2.sqoop从mysql导入数据到hdfs中:
sqoop import \
--connect jdbc:mysql://192.168.1.148:3306/sqoop \
--driver com.mysql.jdbc.Driver \
--verbose \ 在控制台打印详细信息
--username root \
--password 123456 \
--table spark_stu9 \
--target-dir /wtb/datatest/stu \ 导入hdfs数据目录
--fields-terminated-by '\t' \ 定义字段分隔符
-m 1
3.sqoop从mysql导入数据到hdfs中,指定where条件:
sqoop import \
--connect jdbc:mysql://192.168.1.148:3306/sqoop \
--verbose \
--username root \
--password 123456 \
--where "sname='name12' and pdate=20130904" \
--table spark_stu9 \
--target-dir /wtb/datatest/stu9 \
-m 1
4.sqoop从mysql导入数据到hdfs中,导入指定列的数据:
sqoop import
--connect jdbc:mysql://192.168.1.148:3306/sqoop
--verbose
--username root
--password 123456
--columns "sname"
--where "sname='name12' and pdate=20130904"
--table spark_stu9
--target-dir /wtb/datatest/stu99
-m 1
5.sqoop从mysql导入数据到hdfs中,导入指定自定义查询的数据:
sqoop import
--connect jdbc:mysql://192.168.1.148:3306/sqoop
--verbose
--username root
--password 123456
--target-dir /wtb/datatest/stu999999
--query 'select * from spark_stu9 where $CONDITIONS and sname="name12"' sql语句中添加where条件的话,需添加$CONDITIONS 后跟and
--split-by sno --fields-terminated-by '\t'
-m 1
6.sqoop从mysql导入数据到hive中:
sqoop import \
--connect jdbc:mysql://192.168.1.148:3306/sqoop \
--username root \
--password 123456 \
--table result_stu_h_to_m \ 关系型数据库中的表
--fields-terminated-by "\t" \ 指定字段分隔符
--lines-terminated-by "\n" \ 指定行分隔符
-m 1 \
--hive-import \
--hive-database db01 \ 指定hive中的数据库 ,数据库需提前创建,不能自己创建
--create-hive-table \ 如果表不存在就自行创建表
--hive-table stu_emp_m_to_h \ 指定导入的hive中的目标表
--hive-overwrite \ 指定覆盖导入
--delete-target-dir \ 删除中间结果数据目录
7.sqoop从hive中导出数据到mysql
sqoop export \
--connect jdbc:mysql://192.168.1.148:3306/sqoop \
--username root \
--password 123456 \
--table result_stu_h_to_m \
--export-dir /user/hive/warehouse/db01.db/result_stu \
--input-fields-terminated-by '\t'
浙公网安备 33010602011771号