Sqoop基础学习(1)

1. Sqoop的导入过程

在开始导入之前,Sqoop会通过JDBC来获得所需要的数据库元数据

  • 1.导入表的列名、数据类型等;
  • 2.接着这些数据库的数据类型(varchar、number等)会把映射成Java的数据类型(String、int等),根据这些信息,Sqoop会生成一个与表名同名的类用来完成反序列的工作,保持表中的每一行记录;
  • 3.Sqoop启动MapReduce作业
  • 4.启动的作业在input的过程中,会通过JDBC读取数据库表中的内容;
  • 5.这是会使用Sqoop生成的类进行反序列话
  • 6.最后再将这些记录写到HDFS中,在写入HDFS的过程中,同样会使用Sqoop生成的类进行序列化。

2. Sqoop的导出过程

  • 1/2 Sqoop根据目标表的结构会生成一个Java类
  • 3.该类作用为序列化和反序列化
  • 4.接着启动一个MapReduce作业
  • 5.在作业中会生成的Java类从HDFS中读取数据
  • 6.并生成一批INSERT语句,每条语句都会向MySQL的目标表中插入多条记录

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏分布式系统和大数据处理

Hive中分区和分桶的概念和操作

在使用传统的RDBMS数据库(关系数据库),例如MySql时,对于一些大表,我们通常会进行分表操作,以提升查询效率。在Hive中也提供了类似的概念和操作,本文将...

1021
来自专栏Java Edge

需要在Transactional注解指定rollbackFor或者在方法中显示的rollback由Java阿里巴巴规范提示得,今日探究其原因1. 先看异常的分类

3749
来自专栏个人随笔

MySQL 关于存储过程那点事

存储例程是存储在数据库服务器中的一组sql语句,通过在查询中调用一个指定的名称来执行这些sql语句命令. 简介 SQL语句需要先编译然后执行,而存储过程(Sto...

3498
来自专栏文渊之博

SQL Server 2014聚集列存储索引

  之前已经写过两篇介绍列存储索引的文章,但是只有非聚集列存储索引,今天再来简单介绍一下聚集的列存储索引,也就是可更新列存储索引。在SQL Server 201...

744
来自专栏大闲人柴毛毛

Mysql性能优化

 1. 优化SQL   1)通过show status了解各种sql的执行频率         show status like 'Com_%' ...

33711
来自专栏Java Web

Java 面试知识点解析(六)——数据库篇

1253
来自专栏Python

Innodb与Myisam引擎的区别与应用场景

1.区别: (1)事务处理: MyISAM是非事务安全型的,而InnoDB是事务安全型的(支持事务处理等高级处理); (2)锁机制不同: MyISAM是表级锁,...

3387
来自专栏Laoqi's Linux运维专列

Mysql中MyISAM引擎和InnoDB引擎的比较

结论 如果不清楚自己应该用什么引擎,那么请选择InnoDB,Mysql5.5+的版本默认引擎都是InnoDB,早期的Mysql版本默认的引擎是MyISAM --...

3386
来自专栏Java Edge

MySql 全方位基础优化定位执行效率低的SQL语句存储过程与触发器的区别面试回答数据库优化问题从以下几个层面入手

3308
来自专栏JAVA高级架构

SQL性能优化梳理

前言 本文主要针对的是关系型数据数据库MySql。键值类数据库可以参考最简大数据Redis。先简单梳理下Mysql的基本概念,然后分创建时和查询时这两个阶段的优...

2717

扫码关注云+社区