更新时间:2021年08月06日14时13分 来源:传智教育 浏览次数:
如果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阶段。