MySQL表数据导入Hive
如果Hadoop集群中部署了Hive服务,并且在Sqoop服务的sqoop-env.sh文件中配置了Hive的安装路径,那么也可以通过Sqoop工具将MySQL表数据导入Hive表中。
将MySQL表数据导入到Hive文件系统中,具体指令示例如下。
$ sqoop import \
--connect jdbc:mysql://hadoop01:3306/userdb \
--username root \
--password 123456 \
--table emp_add \
**--hive-table itcast.emp_add_sp** \
**--create-hive-table** \
**--hive-import** \
--num-mappers 1
上述指令中,“--hive-table itcast.emp_add_sp”用于指定上传到Hive上的目标地址为itcast数据仓库的emp_add_sp表中,这里必须提前创建对应的itcast数据仓库;“--create-hive-table”用于指定自动创建指定的目标Hive表(即emp_add_sp表),如果表已存在,则执行失败;“--hive-import”用于将对应的MySQL表(即emp_add表)导入Hive中进行数据映射。
执行上述指令后,可以连接到Hive客户端查看Hive数据仓库表数据,结果如图1所示。
图1 查看导入Hive表数据
从图1看出,Sqoop成功将MySQL表数据导入了Hive中,也可在HDFS UI界面查看,如图2所示。
图2 Hive表文件路径
从图2可以看出,Hive表数据是一个MapReduce的结果文件,从命名可以看出,本次MapReduce作业只进行了Map阶段。