关系型数据库导入导出绝招出炉

发布时间:2020-06-09 02:23:55 作者:caosheng03
来源:网络 阅读:719

Sqoop作为数据传输的工具,对于Hadoop与传统数据库之间数据的传输起着桥梁作用,那么到底如何导入导出数据呢?

第一:使用MapReduce作业来执行导入:

1Sqoop首先检查将要导入的表

1、确定主键(如果有的话),调用mapreduce,根据主键分割map

2、没有主键,运行边界查询确定导入的记录数(找到一个min和一个max,确定边界进行划分)

3、通过任务数来划分边界查询的结果,使得他们有相同的负载

2Sqoop为每个将导入的表生成Java源文件

1、在导入过程中编译和使用文件

2、导入后依然保留,可以被安全删除

第二:使用sqoop导入整个数据库:

(1)import-all-tables工具导入整个数据库

1、存储为逗号间隔的文件

2、默认导入到HDFShome目录

3、数据将放在每个表的子目录中

关系型数据库导入导出绝招出炉

2)使用--warehouse-dir选项指定不同的基础目录关系型数据库导入导出绝招出炉

第三:使用Sqoop导入单个表:

1import工具导入单个表

1、示例:导入accounts

以逗号分隔的方式存储数据到HDFS

关系型数据库导入导出绝招出炉

2、指定tab分隔字段

关系型数据库导入导出绝招出炉

第四:增量导入

(1)  如果上次记录导入后发生了变更怎么办?

1、可以重新导入所有记录,但是效率低

(2)  Sqooplastmodified增量模式导入新的和修改的记录

1、基于指定的timestamp

2、确保当记录更新或者被添加时timestamp也更新

关系型数据库导入导出绝招出炉

(3)append增量模式只导入新纪录

1、基于指定列的最后一条记录

关系型数据库导入导出绝招出炉

第五:使用SqoopHadoop导出数据到RDBMS

1Sqoopimport工具把数据从RDBMS拉入到HDFS

2)有时候也需要把HDFS的数据推回到RDBMS,当需要对大数据集进行批处理,并导出结果到RDBMS供其它系统访问

3Sqoop使用export工具RDBMS表在导出前必须已存在

关系型数据库导入导出绝招出炉

掌握了以上方式,对于关系型数据库的导入和导出基本有一个明确的认知和了解,其实我们在日常的学习和实践过程中要多去看看别人的分享,毕竟做技术每个人的经历与经验不一样,有时候说不准会有意向不到的收获。我自己平时喜欢关注“大数据cn”、“大数据时代学习中心”这些微信服务号,对于我个人而言,起到了很大的促进作用,也期待每一个学习大数据的人都能够有所收获!


推荐阅读:
  1. 域用户如何导入导出
  2. Oracle导入导出命令

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

java 源文件 数据库

上一篇:SSH使用技巧

下一篇:javascript重复输出字符串函数

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》