📅  最后修改于: 2023-12-03 14:47:41.259000             🧑  作者: Mango
Sqoop 是一个用于将 Hadoop 与关系型数据库(如 Oracle、MySQL 等)中的数据进行交换的工具,可以用于将结构化数据在关系数据库和 Hadoop 之间来回传递。
以下示例假设使用 MySQL 数据库。
确认 Hadoop 集群和 MySQL 数据库连接正常,并且 Sqoop 工具已经正确安装。
执行以下命令导入所有表:
sqoop import-all-tables --connect jdbc:mysql://localhost/mydatabase --username root --password password --warehouse-dir /user/hive/warehouse
--connect
:指定需要连接的数据库地址和数据库名称。--username
:使用 MySQL 数据库的用户名。--password
:使用 MySQL 数据库的密码。--warehouse-dir
:指定需要将导入的数据存储到的 HDFS 目录。hdfs dfs -ls /user/hive/warehouse
sqoop import --connect jdbc:mysql://localhost/mydatabase --username root --password password --table mytable --target-dir /user/hive/warehouse/mytable
hive -e "create table mytable (id INT, name STRING) row format delimited fields terminated by ',' stored as textfile;"
--map-column-hive id=BIGINT,name=STRING
Sqoop 是一个非常优秀的数据交换工具,可以在 Hadoop 与关系型数据库之间极为方便地传输数据,导入所有表的命令是 sqoop import-all-tables
,需要注意的是,Sqoop 导入数据时会自动创建 Hive 表,需要根据实际情况进行修改。