什么是Sqoop
Sqoop是一个命令行界面应用程序,用于在关系型数据库和Hadoop之间传输数据。
它支持单个表的增量加载,也支持自由形式的SQL查询以及保存的作业,可以多次运行以导入自上次导入以来对数据库所做的更新。使用Sqoop,数据可以从MySQL/PostgreSQL/Oracle/SQL Server/DB2移动到HDFS/hive/hbase,反之亦然。
Sqoop工作原理
第一步: Sqoop向关系型数据库发送请求以获取表的元数据信息(元数据是关系型数据库中关于表的数据)。
第二步: 根据接收到的信息,Sqoop将生成Java类(为什么在开始使用之前必须配置Java-因为Sqoop在内部使用JDBC API生成数据)。
第三步: 现在Sqoop(因为它是用Java编写的)尝试将已编译的类打包以生成表结构,经过编译之后创建了JAR文件(Java的打包标准)。