Sqoop 将 Mysql 的数据导入到 Hive 中
准备Mysql 数据
如图所示,准备一张表,数据随便造一些,当然我这里的数据很简单。
编写命令
编写参数文件
个人习惯问题,我喜欢把参数写到文件里,然后再命令行引用。
vim mysql-info,
# 配置数据库连接信息
--connect
jdbc:mysql://192.168.33.11:3306/sqoop_test
--username
root
--password
123456
vim hive-info
# 配置 hive
--hive-import
--hive-database
default
--hive-table
test_aaa
Hive 提供了可以直接将 mysql 导入 hive 的工具。其实底层还是 mysql --> hdfs --> hive 的步骤。
运行
sqoop-import --options-file mysql-info --table table_test -m 1 --options-file hive-info
sqoop-import 是导入命令,后面指定参数文件。
运行结束,可以看到 hive 仓库对应的目录下多了一张表。
也可以在 hive> 下查看,
遇到的问题
找不到 org.apache.hadoop.hive.shims
这个类是 Hive 的,在 Hive 目录下找到这个包(注意,为了保险起见,把 shims 相关的 jar 包全部复制过去)复制到 sqoop 目录下就可以了。