1.Sqoop
Apache Sqoop是Hadoop生态体系和RDBMS(关系型数据库)体系之间传递数据的一种工具。
Sqoop工作机制是将导入或者导出命令翻译成MapReduce程序来实现。在翻译出的MapReduce中主要是对inputformat和outputformat进行定制。
Hadoop生态包括:HDFS,Hive,Hbase等。
RDBMS体系包括:Mysql,Oracle,DB2等。
Sqoop可以理解为:SQL到Hadoop,Hadoop到SQL。
2.Sqoop全量导入HDFS
从RDBMS导入到HDFS,表中的每一行视为HDFS的记录,所有的记录都存储为文本文件的文本数据。
3.Sqoop进行并行的数据导入
如果表的数据比较大,可以并行启动maptask执行导入操作,如果表没有主键,请指定根据哪个字段进行切分。
4.Sqoop导入HDFS中的分隔符也是可以通过命令指定的
5.Sqoop的导入命令示例:
注意事项:命令携带的参数必须出现在同一行,若换行就意味着自动提交执行,可以通过"\"表示未结束。
6.Hadoop,Hive,Mysql的关系:
Hive 和 HDFS、MySQL 之间的关系_hive、mysql与hdfs的关系-CSDN博客
7.全量导入mysql表数据到Hive
方式一:先复制表结构到hive中,然后再导入数据。
方式二:直接复制表结构数据到hive中。
(目的一样,命令不同罢了)
8.导入数据表子集
其实就是导入数据表中的一部分数据,用where关键字或者query关键字来过滤。
query关键字:
在sqoop命令中,就是--query命令参数,实际上就是执行了一个sql语句。且需要按照sqoop的规范来写query的命令语句。