1、全量导入数据:mysql -> hive中
sqoop import \
--connect jdbc:mysql://hadoop01:3306/qfbap_ods \
--driver com.mysql.jdbc.Driver \
--username root \
--password 123456 \
--table user \
--hive-import \
--hive-table gp_ods.ods_user
注意点:
- mysql中的数据库正常并且权限正常访问,没有权限的请看上一篇文章。
- hive中的库和表是应该存在的
- hive中的表和mysql中的字段一一对应。
2、直接导hdfs的方式:
首先确定hive中ods_user表在HDFS上的路径:
路径为:
/user/hive/warehouse/gp1919_qfbap_ods.db/ods_user
hive的创建表的本质就是创建一个目录,加载数据的本质就是读取对应路径下的数据文件。
所以我们可以直接将mysql的数据导入到hdfs相对应的路径中去:
sqoop import \
--connect jdbc:mysql://hadoop01:3306/qfbap_ods \
--driver com.mysql.jdbc.Driver \
--username root \
--password 123456 \
--table user \
--delete-target-dir \
--target-dir /user/hive/warehouse/gp1919_qfbap_ods.db/ods_user \
--fields-terminated-by '\001' \
;
备注:运行过程中的日志显示有不少错误,但是没有影响结果,我也没有深究,如果有大神能够解释,请赐教。
显示成功:
在hive中查询一下数据进行测试: