• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

pumper: 简言之,将常见MySQL、PostgreSQL、Oracle、SQLServer等**可用JDBC访问的关系 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

pumper

开源软件地址:

https://gitee.com/inrgihc/pumper

开源软件介绍:

Pumper2Hive数据抽取工具

项目地址:

一、功能简述

简言之,将常见MySQL、PostgreSQL、Oracle、SQLServer等可用JDBC访问的关系型数据库的表结构和数据抽取到目标端为Hive数据仓库中,支持表结构的转换数据的加载

二、详细功能

  • 支持常见关系型数据库到hive库表结构的转换;

  • 支持千万级甚至亿级的数据量向hive的迁移;

三、实现原理

通过读取源端(关系型数据)库的表和字段元信息,根据字段类型映射关系将源端库的字段类型转换为hive对应的字段类型,并构建可以在hive中执行的create tableSQL语句实现建表操作;

然后基于分批次读取源端数据库内的数据,经序列化后写入Hive表对应在HDFS上目录下的文件中,完成数据抽取功能。

四、编译打包

  • 编译环境

    JDK:>=1.8

    maven:>=3.6

  • 编译命令:

git clone https://gitee.com/inrgihc/pumper.gitcd pumper/mvn clean package

即可在pumper/target目录下生成pumper-release-<version>.zip的部署包文件,将该zip包拷贝到装有java环境的机器上解压即可完成部署:

[root@localhost ~]# unzip pumper-release-1.0.0.zip[root@localhost ~]# tree pumper-release-0.0.1pumper-release-0.0.1├── bin│   ├── startup.cmd│   └── startup.sh├── conf│   └── application.yml└── lib    ├── pumper-0.0.1.jar    ├── (省略)    └── zookeeper-3.4.6.jar

三、配置部署

  • 参数配置

配置见pumper-release-<version>/conf/application.yml文件内容,参数说明如下:

pumper:  # 源端:支持常见的关系数据库,如Oracle/SQLServer/MySQL/PostgreSQL等JDBC访问访问的关系型数据库  source:    # 源端的JDBC数据库地址    jdbc-url: jdbc:mysql://192.168.2.10:3306/test?useSSL=false&nullCatalogMeansCurrent=true    # 源端的数据库驱动类    driver-class-name: com.mysql.jdbc.Driver    # 账号信息    account:      # 是否启用账号认证      enable-account: true      # 账号名(当enable-account为true时使用)      username: tangyibo      # 账号密码(当enable-account为true时使用)      password: 123456    # 批次大小    fetch-size : 10000    # 源端数据库的Schema名    schema-name: 'test'    # 包含的物理表或视图表,为空时,自动提取schema下所有的表    table-includes:      - t_test001      - t_test002    # 排除的表,可为空    table-excludes:  # HIVE库(必须)  target:    # Hive库的JDBC地址    jdbc-url: jdbc:hive2://192.168.1.102:10000/default    # Hive库的JDBC驱动类    driver-class-name: org.apache.hive.jdbc.HiveDriver    # 账号认证信息    account:      # 是否启用账号认证      enable-account: true      # 账号名(当enable-account为true时使用)      username: hive      # 账号密码(当enable-account为true时使用)      password: 123456    # Hive库的库名(schema名)    schema-name: 'demo'    # HDFS的配置信息    hadoop-hdfs:      # HDFS地址      hdfs-url: hdfs://192.168.1.101:8020      # HDFS账号(根据实际进行配置,通常为hadoop或hdfs或hive等)      username: 'hadoop'      # hdfs-site.xml文件在本地文件系统中的绝对路径,该文件需要到hadoop集群服务器上拷贝到本地      hdfs-site-xml-file-path: "D:/cdh/hdfs-site.xml"      # core-site.xml文件在本地文件系统中的路径,该文件需要到hadoop集群服务器上拷贝到本地      core-site-xml-file-path: "D:/cdh/core-site.xml"    kerberos:      # 是否启用kerberos认证      enable-kerberos: true      # kerberos的principal(当enable-kerberos为true时使用)      kerberos-principal : "hdfs/node01@CDH"      # kerberos的keytab文件在本地文件系统中的绝对路径(当enable-kerberos为true时使用),该文件需要到hadoop集群服务器上拷贝到本      kerberos-keytab-file-path : "D:/cdh/hdfs.keytab"      # keytab的krb5.conf文件在本地文件系统中的绝对路径(当enable-kerberos为true时使用),该文件需要到hadoop集群服务器上拷贝到本      kerberos-conf-file-path : "D:/cdh/krb5.conf"

注意:如果在hdfs-site.xml/core-site.xml/krb5.conf等中使用了主机名进行配置,需要配置hosts的主机名与IP的映射关系

  • 程序启动

(1) linux系统

在linux系统下执行:

sh bin/startup.sh

(2) Windows系统

在Window系统下双击bin目录下startup.cmd文件启动。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap