Vertica-Kettle测试记录

Vertica单线程导入

kettle中建立csv->Vertica的直抽测试,抽取速率稳定,没有差距悬殊的峰值与谷值,

1.在表输出处设置提交记录数为10000时,平均速度在5.5w条记录/s左右,且在数据库中已正确插入。

2.在表输出处设置提交记录数为50000时,峰值速度7.2w条记录/s+平均速度在7.2w条记录/s左右。

Vertica多线程导入

1.两个csv导入至Vertica table,总的平均导入速度在条记录6.7w条记录/s左右,整个导入过程无错误。

2.一个csv多线程导入至同一个Vertica table,总的平均导入速度在条记录9.2w条记录/s左右,整个导入过程无错误。

Vertica一亿条数据量进行ETL插入

按照所要求的etl流程进行测试,峰值速度在6.1w条记录/s左右,平均速度在条记录5.9w条记录/s左右。

在数据库中简单查询,已经将原本的birthday拆分成了yeardatemonth,汉族映射为01,功能成功实现

Vertica准实时增量抽取

整体测试结果为可以成功实现Vertica准实时增量抽取,抽取速度单线程导入速度为4.3w条记录/s,总体导入速度为8.6w条记录/s.

此部分实现有点复杂,分为几个部分逐步介绍。

增量实现

ETL任务设计方案:表中有一列列名为id的自增序列判断需要加载的表id字段最大数值将导入的数据表命名为incr_dest,导出的数据表命令为incr_source。where id >?作为参数传入第二个数据抽取步骤,与数据库表抽取2被抽取的表id进行对比,数据库表抽取2中id比传入参数大的数据传给加载至数据库步骤

此处使用多线程进行表输出,以加快导入速度。

准实时实现

实现要点:

  1. 模拟实时增加数据量的数据源:此处在Vertica库中建立incr_source表,在开始实时处理时启动导入任务。
  2. 实时增量抽取:建立任务进行简单调度,单次执行设置合适的时间间隔。

执行时先执行第一步增量转换,再配置并执行第二步实时作业调度。

模拟实时增加的数据源:csv直抽导入。

实时增量抽取:

  1. 增量抽取的转换实现:见第一步增量实现。
  2. 实时作业调度
  3. Start配置如下:从执行后每15s再次执行,重复次数无限

  4. 转换2选择在上一步增量实现配置的转换即可。

    准实时增量作业完成情况如下:

    初始执行时间16:03

  5. 单线程导入速度为4.3w条记录/s,总体导入速度为8.6w条记录/s.

猜你喜欢

转载自blog.csdn.net/weixin_42348333/article/details/81750329