Vertica是一款基于列存储的MPP架构的数据库,Vertica Reader插件实现了从Vertica读取数据的功能。本文为您介绍Vertica Reader的实现原理、参数和示例。

注意 Vertica Reader仅支持使用独享数据集成资源组,不支持使用默认资源组和自定义资源组。

实现原理

在底层实现上,Vertica Reader通过JDBC连接远程Vertica数据库,并执行相应的SQL语句,从Vertica数据库中读取数据。

Vertica Reader通过JDBC连接器连接至远程的Vertica数据库,根据您配置的信息生成查询SQL语句,发送至远程Vertica数据库,执行该SQL并返回结果。然后使用数据同步自定义的数据类型拼装为抽象的数据集,传递给下游Writer处理。

对于您配置的table、column和where等信息,Vertica Reader将其拼接为SQL语句发送至Vertica数据库。

对于您配置的querySql信息,Vertica直接将其发送至Vertica数据库。

Vertica Reader通过Vertica数据库驱动访问Vertica,您需要确认Vertica驱动和您的Vertica服务之间的兼容能力。数据库驱动使用如下版本。

com.vertica

vertica-jdbc

7.1.2

参数说明

参数

描述

是否必选

默认值

datasource

数据源名称,脚本模式支持添加数据源,此配置项填写的内容必须要与添加的数据源名称保持一致。

jdbcUrl

描述的是到对端数据库的JDBC连接信息,使用JSON的数组进行描述,并支持一个库填写多个连接地址。

如果配置多个连接地址,Vertica Reader可以依次验证IP的可连接性,直到选择一个合法的IP。如果全部连接失败,则Vertica Reader报错。

说明 jdbcUrl必须包含在connection配置单元中。

jdbcUrl的格式和Vertica官方一致,并可以连接附件控制信息。例如,jdbc:vertica://1**.0.0.1:3306/database。

username

数据源的用户名。

table

选取的需要同步的表名称。

password

数据源指定用户名的密码。

table

选取的需要同步的表。使用JSON的数组进行描述,支持同时读取多张表。

当配置为多张表时,您需要保证多张表的schema结构一致,Vertica Reader不检查表的逻辑是否统一。

说明 table必须包含在connection配置单元中。

column

所配置的表中需要同步的列名集合,使用JSON的数组描述字段信息 。默认使用所有列配置,例如[ * ]。

支持列裁剪,即列可以挑选部分列进行导出。

支持列换序,即列可以不按照表schema信息顺序进行导出。

支持常量配置。

column必须显示指定同步的列集合,不允许为空。

splitPk

Vertica Reader进行数据抽取时,如果指定splitPk,表示您希望使用splitPk代表的字段进行数据分片,数据同步因此会启动并发任务进行数据同步,提高数据同步的效能。

推荐splitPk用户使用表主键,因为表主键通常情况下比较均匀,因此切分出来的分片不容易出现数据热点。

目前splitPk仅支持整型数据切分,不支持字符串、浮点、日期等其它类型 。如果您指定其它非支持类型,Vertica Reader将报错。

如果设置splitPk为空,底层将视作您不允许对单表进行切分,因此使用单通道进行抽取。

where

筛选条件,Vertica Reader根据指定的column、table和where条件拼接SQL,并根据该SQL进行数据抽取。

例如在测试时,可以指定where条件。在实际业务场景中,通常会选择当天的数据进行同步,可以将where条件指定为gmt_create > $bizdate。

where条件可以有效地进行业务增量同步。

where条件不配置或者为空,视作全表同步数据。

querySql

在部分业务场景中,where配置项不足以描述所筛选的条件,您可以通过该配置型来自定义筛选SQL。配置该项后,数据同步系统会忽略tables、columns和splitPk配置项,直接使用该项配置的内容对数据进行筛选。

当您配置querySql时,Vertica Reader直接忽略table、column和where条件的配置。

fetchSize

该配置项定义了插件和数据库服务器端每次批量数据获取条数,该值决定了数据集成和服务器端的网络交互次数,能够较大地提升数据抽取性能。

说明 fetchSize值过大(>2048)可能造成数据同步进程OOM。

1,024

向导开发介绍

暂不支持向导模式开发。

脚本开发介绍

配置一个从Vertica读取数据的作业,使用脚本开发的详情请参见通过脚本模式配置任务。

{

"type": "job",

"steps": [

{

"stepType": "vertica", //插件名。

"parameter": {

"datasource": "", //数据源名。

"username": "",

"password": "",

"where": "",

"column": [ //字段。

"id",

"name"

],

"splitPk": "id",

"connection": [

{

"table": [ //表名。

"table"

],

"jdbcUrl": [

"jdbc:vertica://host:port/database"

]

}

]

},

"name": "Reader",

"category": "reader"

},

{

"stepType": "stream",

"parameter": {

"print": false,

"fieldDelimiter": ","

},

"name": "Writer",

"category": "writer"

}

],

"version": "2.0",

"order": {

"hops": [

{

"from": "Reader",

"to": "Writer"

}

]

},

"setting": {

"errorLimit": {

"record": "0" //错误记录数。

},

"speed": {

"throttle": false, //false代表不限流,下面的限流速度不生效;true代表限流。

"concurrent": 1, //作业并发数。

}

}

}

verticajdbc驱动_Vertica Reader相关推荐

  1. Table阿里云mysql_数据同步-从MySQL到Tablestore-阿里云开发者社区

    数据同步-从MySQL到Tablestore DataX是阿里集团广泛使用的离线数据导出工具, 本文将详细介绍如何从MySQL导出全量数据到Tablestore(OTS)中. 一.导出步骤 DataX ...

  2. USB SIM Card Reader驱动

    Vid_058f&pid_9720驱动是官方提供的一款USB驱动,本站收集提供高速下载,用于解决USB接口不能正常识别,无法正常使用的问题,本动适用于:Windows XP / Windows ...

  3. Ubuntu Thinkpad E440 sdcard reader 驱动安装

    参考:https://bugs.launchpad.net/ubuntu/+source/udisks/+bug/971876 lspci using mint14 64 on a new lapto ...

  4. Spring Boot 中 @EnableXXX 注解的驱动逻辑

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者 | 温安适 来源 | https://juejin. ...

  5. JDBC中驱动加载的过程分析

    JDBC中驱动加载的过程分析 作者:kenty  来源:博客园  发布时间:2007-08-20 15:01  阅读:1100 次  原文链接   [收藏]    本篇从java.sql.Driver ...

  6. 知识驱动的推荐系统:现状与展望

    来源:专知本文附论文,建议阅读5分钟个性化推荐系统能够根据用户的个性化偏好和需要,自动.快速.精准地为用户提供其所需的互联网资源. 个性化推荐系统能够根据用户的个性化偏好和需要,自动.快速.精准地为用 ...

  7. Spring Boot 基于注解驱动源码分析--自动配置

    Spring作为Java开发最常用的容器管理框架,使用注解为我们提供很多便捷,下面通过源码分析Spring基于注解驱动自动配置的原理 首先介绍两个关键类: ConfigurationClassPost ...

  8. C#进阶系列——DDD领域驱动设计初探(五):AutoMapper使用

    前言:前篇搭建了下WCF的代码,就提到了DTO的概念,对于为什么要有这么一个DTO的对象,上章可能对于这点不太详尽,在此不厌其烦再来提提它的作用: 从安全上面考虑,领域Model都带有领域业务,让Cl ...

  9. Spring 2.5 基于注解驱动的 Spring MVC

    基于注解的配置有越来越流行的趋势,Spring 2.5 顺应这种趋势,为 Spring MVC 提供了完全基于注解的配置.本文将介绍 Spring 2.5 新增的 Sping MVC 注解功能,讲述如 ...

最新文章

  1. 二元logistic模型案例_二元逻辑回归的简介与操作演示
  2. 《剑指offer》-逐层打印二叉树
  3. SAP CRM Fiori my task应用是如何在My Account应用里加载的
  4. LeetCode 1697. 检查边长度限制的路径是否存在(排序+并查集)
  5. VS 2008中的jQuery Intellisense
  6. 设计模式笔记 16. Mediator 中介者模式(行为型模式)
  7. python是什么软件-Python 是什么软件?
  8. QDir中mkdir和mkpath的区别
  9. Java 将HTML转为Word
  10. 家庭生涯妙招,必定要看哦
  11. JNI:ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
  12. 关于安装mmdetection
  13. Postfix邮箱(八):安装反垃圾邮件系统Spam Locker
  14. HTML 5:绘制旋转的太极图
  15. Docker出现exited(127)的解决方法
  16. 安卓模拟器忘记密码,如何解锁
  17. docker 安装与初步使用
  18. 【密码算法 之七】GCM 浅析
  19. Qt网络编程电子白板
  20. 【刷题记录】【一维数组】魔术师的猜牌术。

热门文章

  1. 一个链接泄露这么多隐私,你还敢拼多多助力吗?
  2. 面向对象期末第三阶段
  3. 使用idea连接阿里云RDS数据库
  4. 如何修改图片的dpi?图片的dpi怎么调?
  5. HP246 G6 笔记本升级
  6. Python入门第3课——变量类型(只读课堂)
  7. 行测-判断推理-图形推理-样式规律-黑白运算
  8. 单条视频播放超7000万,网红界“大油田”如何掀起快手流量浪潮?
  9. eulerOS 欧拉OS 审计修复日记
  10. SATA硬盘的数据和电源接口定义