Sqoop(发音:skup)是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
对于某些Nosql数据库它也提供了连接器。Sqoop,类似于其他ETL工具,使用元数据模型来判断数据类型并在数据从数据源转移到Hadoop时确保类型安全的数据处理。Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
1.解压:
tar -xvf sqoop-1.4.5-cdh5.3.6.tar.gz -C /home/hadoop/CDH5.3.6
2.进去conf目录
/home/hadoop/CDH5.3.6/sqoop-1.4.5-cdh5.3.6/conf
3.重命名文件
[[email protected] conf]$ cp sqoop-env-template.sh sqoop-env.sh
4.修改配置文件sqoop-env.sh
export HADOOP_COMMON_HOME=/home/hadoop/CDH5.3.6/hadoop-2.5.0-cdh5.3.6 export HADOOP_MAPRED_HOME=/home/hadoop/CDH5.3.6/hadoop-2.5.0-cdh5.3.6 export HIVE_HOME=/home/hadoop/CDH5.3.6/hive-0.13.1-cdh5.3.6
5.验证:
查看版本:
查看命令怎么用:
bin/sqoop help list-databases
链接的是MySQL数据库,需要拷贝一个jdbc驱动包
cp /home/hadoop/CDH5.3.6/hive-0.13.1-cdh5.3.6/lib/mysql-connector-java-5.1.46.jar ./lib/
[[email protected] lib]$ mysql -u root -p Enter password: mysql> update user set host = ‘%‘ where user = ‘root‘; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec)
展现数据库有哪些database:
bin/sqoop list-databases --connect jdbc:mysql://192.168.1.30:3306 \ --username root --password mysql
安装完成,sqoop主要作用于export 、import 导入导出,见下次随笔
原文地址:https://www.cnblogs.com/hello-wei/p/10964899.html
时间: 2024-10-30 05:37:13