Msyql到Vertica

1、mysql中在openshop 数据库中选择其中一个300W左右数据的表

create table ip_records_tmp_01

AS

SELECT * FROM ip_records_tmp t

WHERE t.datetime<= '2015-05-01'

2、vertica创建表ip_records_tmp_01,注意字段类型和mysql有点不一样。

全量抽取2478130条数据,耗时30s,速度不错!

3、在mysql中新增972948条数据,删除462151条数据,更新273427条数据

新增:

insert into ip_records_tmp_01

select  *  from ip_records_tmp t

where t.`datetime` > '2015-05-01';

删除:

delete from ip_records_tmp_01

where `datetime` <= '2015-05-01' and `datetime` >'2015-04-01';

更新:

update ip_records_tmp_01

set remark1 ='INMAN',remark2 ='LEFTLIFE'

where

`datetime` <= '2015-04-01' AND `datetime` >'2015-03-01'

增量抽取,耗时2h 3mn 33s,速度不能接受。

调试1,利用时间戳

利用时间戳来增量抽取数据,针对数据允许的情况优先考虑,但是不排除时间戳无法实施的情况,所以还需寻找其他方法。

调试2,建立索引

从mysql到sqlserver数据表和数据量都一致的情况下的截图:

全量抽取,耗时42S

对sqlserver的表建立索引,增量抽取数据,耗时10mn 50s,速度也还算可以。

于是在vertica中建立类似索引的projection,效果不理想,速度没见明显提高,所以不截图,这次调优也不行。

调试3,临时表+运行脚本

全量抽取,耗时32s

增量抽取,耗时1mn 48s,速度有大幅度提升。

一些错误解决方法

Kettle内存溢出 out of memory

解决方法:调整kettle调用java的JVM内存大小,修改spoon.bat文件中的

if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xmx4096m" "-XX:MaxPermSize=4096m"

把内存调大,运行大数据量排序时,如果不调整内存,kettle会崩溃!

[Vertica][VJDBC](5156):READ COMMITTED

[Vertica][VJDBC](5156) ERROR: Unavailable: initiator locks for query - Locking failure: Timed out X locking Table .Your current transaction isolation level is READ COMMITTED

解决方法:由于删除和插入/更新的事务互锁,将更新控件中提交记录数量由10000减少到1000,删除控件中的提交记录数量由1000减少到100。

Kettle数据同步速度调优记录的更多相关文章

  1. Oracle SQL调优记录

    目录 一.前言 二.注意点 三.Oracle执行计划 四.调优记录 @ 一.前言 本博客只记录工作中的一次oracle sql调优记录,因为数据量过多导致的查询缓慢,一方面是因为业务太过繁杂,关联了太 ...

  2. 【Spark篇】---Spark调优之代码调优,数据本地化调优,内存调优,SparkShuffle调优,Executor的堆外内存调优

    一.前述 Spark中调优大致分为以下几种 ,代码调优,数据本地化,内存调优,SparkShuffle调优,调节Executor的堆外内存. 二.具体    1.代码调优 1.避免创建重复的RDD,尽 ...

  3. Spark学习之路 (九)SparkCore的调优之数据倾斜调优

    摘抄自:https://tech.meituan.com/spark-tuning-pro.html 数据倾斜调优 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Sp ...

  4. Spark(十)Spark之数据倾斜调优

    一 调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题——数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作 ...

  5. Spark性能优化:数据倾斜调优

    前言 继<Spark性能优化:开发调优篇>和<Spark性能优化:资源调优篇>讲解了每个Spark开发人员都必须熟知的开发调优与资源调优之后,本文作为<Spark性能优化 ...

  6. Spark性能优化--数据倾斜调优与shuffle调优

    一.数据倾斜发生的原理 原理:在进行shuffle的时候,必须将各个节点上相同的key拉取到某个节点上的一个task来进行处理,比如按照key进行聚合或join等操作.此时如果某个key对应的数据量特 ...

  7. MySQL插入数据性能调优

    插入数据性能调优总结: 1.SQL插入语句调优 2.如果是InnoDB引擎的话,尝试开启事务,批量提交 3.调整MySQl数据库配置     参考: 百度空间 - MySQL插入数据性能调优 CSDN ...

  8. Spark学习之路 (九)SparkCore的调优之数据倾斜调优[转]

    调优概述 有的时候,我们可能会遇到大数据计算中一个最棘手的问题--数据倾斜,此时Spark作业的性能会比期望差很多.数据倾斜调优,就是使用各种技术方案解决不同类型的数据倾斜问题,以保证Spark作业的 ...

  9. 最详细10招Spark数据倾斜调优

    最详细10招Spark数据倾斜调优 数据量大并不可怕,可怕的是数据倾斜 . 数据倾斜发生的现象 绝大多数 task 执行得都非常快,但个别 task 执行极慢. 数据倾斜发生的原理 在进行 shuff ...

随机推荐

  1. MapGISK9安装

    数据下载 单击SQL-->单击显示SQL语句 单击确定,提示不可识别符号,给字段添加''

  2. 20180826(04)-Java序列化

    Java序列化 Java 提供了一种对象序列化的机制,该机制中,一个对象可以被表示为一个字节序列,该字节序列包括该对象的数据.有关对象的类型的信息和存储在对象中数据的类型 将序列化对象写入文件之后,可 ...

  3. 网站名,服务器名,url,ip,域名的区别和联系。

    平时我们可能容易混淆这几个名词含义,今天我打算捋一捋这几个概念. 我们知道,两台计算机要想互相通信,就像古代写信一样,地址必须要唯一的,不然就会出错.计算机之间通信也是一样的,要保证计算机的地址的唯一 ...

  4. Flueme学习之路(一)Flume的基础介绍

    背景 Hadoop业务的整体开发流程: ​ 从Hadoop的业务开发流程中可以看出,在大数据的业务处理流程中,对于数据的采集是十分重要的一步,也是不可避免的一步. ​ 许多公司的平台每天会产生大量的日 ...

  5. IDEA创建springboot异常(Failed to load class "org.slf4j.impl.StaticLoggerBinder")

    IDEA中创建springboot项目遇到的问题 SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". ...

  6. 利用AddressBook.framework框架获取iOS系统通讯录数据

    此方法是使用AddressBook.framework框架获取通讯录信息 第一步.在info.plist文件里面配置访问权限 第二步.导入头文件 #import <AddressBook/Add ...

  7. 前端基础知识-----HTML

    一.HTML基础概述 HTML:超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准语言.也就是一般我们在浏览器里看到的东西的书写格式,与 ...

  8. [WCF REST] WebServiceHost 不依赖配置文件启动简单服务

    最近用WPF启动 WCF REST 服务,发现app.config 配置好烦,简单一个exe 可以到处搬动,还非得带一个累赘配置,不小心丢了程序就跑不起来. 最后决定,砍去WCF配置项,用WebSer ...

  9. 知道css有个content属性吗?有什么作用?有什么应用?

    css的content属性专门应用在 before/after 伪元素上,用来插入生成内容.最常见的应用是利用伪类清除浮动. //一种常见利用伪类清除浮动的代码 .clearfix:after { c ...

  10. Eclipse+Pydev环境下出现error “eclipse Non-UTF-8 code”

    文件首行加上”#coding=utf-8”   ,这一句话可控制代码中可输入中文字符