2024-02-06(Sqoop)

1.Sqoop

Apache Sqoop是Hadoop生态体系和RDBMS(关系型数据库)体系之间传递数据的一种工具。

Sqoop工作机制是将导入或者导出命令翻译成MapReduce程序来实现。在翻译出的MapReduce中主要是对inputformat和outputformat进行定制。

Hadoop生态包括:HDFS,Hive,Hbase等。

RDBMS体系包括:Mysql,Oracle,DB2等。

Sqoop可以理解为:SQL到Hadoop,Hadoop到SQL。

2024-02-06(Sqoop)_第1张图片 2.Sqoop全量导入HDFS

从RDBMS导入到HDFS,表中的每一行视为HDFS的记录,所有的记录都存储为文本文件的文本数据。

3.Sqoop进行并行的数据导入

如果表的数据比较大,可以并行启动maptask执行导入操作,如果表没有主键,请指定根据哪个字段进行切分。

4.Sqoop导入HDFS中的分隔符也是可以通过命令指定的

5.Sqoop的导入命令示例:

2024-02-06(Sqoop)_第2张图片

注意事项:命令携带的参数必须出现在同一行,若换行就意味着自动提交执行,可以通过"\"表示未结束。

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的命令语句。

你可能感兴趣的:(随记日志,sqoop,大数据)