sqoop的安装以及数据的导入导出

mac2025-10-23  5

使用场景 Haoop文件存储体系(HDFS、Hive、Hbase)与关系型数据库(Mysql)之间的数据导入导出。

Sqoop安装

下载并解压 安装Sqoop的前提是已经具备Java和Hadoop的环境。 1) 最新版下载地址:http://mirrors.hust.edu.cn/apache/sqoop/ 2) 上传安装包sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz 3) 解压sqoop安装包到指定目录 tar -zxf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz -C /opt/module/ 修改配置文件 1) 重命名配置文件 $ cp sqoop-env-template.sh sqoop-env.sh $ cp sqoop-site-template.xml sqoop-site.xml 2) 修改配置文件 (sqoop-env.sh) export HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.2 export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.7.2 export HIVE_HOME=/opt/module/apache-hive-1.2.2-bin 拷贝JDBC驱动 拷贝jdbc驱动到sqoop的lib目录下,如: cp mysql-connector-java-5.1.27-bin.jar /opt/module/sqoop/1.4.6.bin__hadoop-2.0.4-alpha/lib/ 测试Sqoop是否能够成功连接数据库 bin/sqoop list-databases --connect jdbc:mysql://hadoop100:3306/ --username root --password root

RDBMS到HDFS

全部导入 sqoop import --connect jdbc:mysql://hadoop100:3306/company --username root --password root --table staff --target-dir /caicai 使用-m而不是用split-by没有发现异常 sqoop import --connect jdbc:mysql://hadoop100:3306/metastore --username root --password root --table TBLS --target-dir /cai -m 2 查询导入时,query中带分号报错 提示:must contain '$CONDITIONS' in WHERE clause. 提示:--query选项,不能同时与--table选项使用 sqoop import --connect jdbc:mysql://hadoop100:3306/metastore --username root --password root --target-dir /czl --split-by TBL_ID --query 'select TBL_ID from TBLS where TBL_ID<100 and $CONDITIONS'

RDBMS到Hive

导入到hive中【目录必须不存在】

sqoop import --connect jdbc:mysql://hadoop100:3306/metastore --username root --password admin --target-dir /user/hive/warehouse/t1 --split-by TBL_ID --query 'select TBL_ID from TBLS where TBL_ID<100 and $CONDITIONS' 或者 sqoop import --connect jdbc:mysql://hadoop100:3306/company --username root --password root --table staff --hive-import --hive-overwrite --hive-table staff_hive

HIVE/HDFS到RDBMS

提示:Mysql中如果表不存在,不会自动创建 sqoop export --connect jdbc:mysql://hadoop100:3306/company --username root --password root --table staff --num-mappers 1 --export-dir /user/hive/warehouse/staff_hive --input-fields-terminated-by "\t"
最新回复(0)