Sqoop是一款开源的工具主要用于在Hadoop(Hive,HBasw)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如
MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
将各种关系型数据导入Hive中,其实大同小异,这里就以Oracle数据为例,将Oracle中的数据导入到Hive中。共分为两个步骤:
第一步:用Sqoop命令将关系型数据库中表结构复制到Hive中,只是复制表结构,不复制表中的内容:
sqoop create-hive-table --connect jdbc:oracle:thin:@192.168.8.110:1521:orcl --table A1 --username sky --password 123456 --hive-table a11
其中A1是Oracle数据库中的表名称,a11则是在Hive中创建的相对应的表名称。
第二步:通过sqoop将关系型数据库表中的数据导入到Hive的表中
sqoop import --connect jdbc:oracle:thin:@192.168.8.110:1521:orcl --username sky --password 123456 --table A1 --hive-import -hive-table
a11 -m 8
注意事项:Oracle数据库中的表A1必须大写,否则会报错。