数据按时间拆开分批处理示例

我现在的问题是有一个大的事实表,已经有数十亿条数据,过来的临时表需要merge进去. 临时表的大小也不确定,可能上十亿也可能只有几百几千万而已.

如果直接让这两个表merge起来,则需要很大的内存来进行处理.所以我就想着把数据进行按时间拆分的处理,然后merge进去,

拆分的条件是如果临时表的数据量大于三亿条,我就按二亿条左右一个批次进行merge.

总体设计完的package是这样的:

   

1.第一步,获取总的行数,然后分支下去进行判断.d大于三亿则拆分,否则只执行一次.

2.第二步,获取拆分的数据信息,生成开始时间与结束时间列表.因为我访问的数据库是vertica,语法与tsql略有差异.

我的示例vsql如下:

select

min(yearmonthday)::varchar as startdate,

timestampadd(day,1,max(yearmonthday))::varchar as enddate

FROM

(

select

sum(count(*)) over(order by run_strt_ts::timestamp::char(10)) as totalcount,

floor(sum(count(*)) over(order by run_strt_ts::timestamp::char(10))/200000000) as lvl,

run_strt_ts::timestamp::char(10)::timestamp as yearmonthday

from schemaname.tablename

group by run_strt_ts::timestamp::char(10)

) AS A

group by lvl order by lvl

生成类似的结果集:

这一步我使用了一个Execute sql task对象,配置为返回Full Result Set,传递一个object类型的变量接收.

刚开始我的设计不是这样的,我使用dataflowtask,然后里面一个ado.net source 去获取数据,传递给一个记录集destination.但总是报如下的异常:

所以我就改用现在的设计.

3.第三步就是使用一个Foreach look container,传递两个变量去接收返回的startdateenddate.

接着就简单了,装配tsql,传递 给一个Execute sql task 任务.

转载于:https://www.cnblogs.com/huaxiaoyao/p/3683245.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/575493.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

telnet远程登陆、mstsc远程控制、SSH之间的比较和区别

Telnet与远程桌面mstsc 一 演示 打开mstsc演示: 01 win r 输入mstsc 02 输入要远程的机子的用户名和密码 03 登录 04 连接开启了,如图即是通过win窗口操作远程机子。 以上是使用mstsc打开一个远程连接来通过windows窗口的方式来控制远程机器。 …

Linux查看已经开放的端口,开放端口遇到防火墙的问题。

Linux查看已经开放的端口,开放端口,FirewallD is not running 查看已经开放的端口 firewall-cmd --list-all1 如果出现这种情况说明你的防火墙没有开: 则先把防火墙打开:systemctl start firewalld 扩展内容:. 查看firewalld状…

用yum装程序 报[Errno 12] Timeout on Trying other mirror.

使用yum,报错如图下: 记着之前网卡和dns文件都配置好着的,114.114.114.114都加上的。 检查了下,发现dns文件的配置不见了。。。。 故把 /etc/resolv.conf 中加了如下:然后重点不要重启 service network restart &#…

JavaScript中的原型和继承

请在此暂时忘记之前学到的面向对象的一切知识。这里只需要考虑赛车的情况。是的,就是赛车。 最近我正在观看 24 Hours of Le Mans ,这是法国流行的一项赛事。最快的车被称为 Le Mans 原型车。这些车虽然是由“奥迪”或“标致”这些厂商制造的&#xff0c…

Centos7.x 网卡启动报错(Failed to start LSB: Bring up/down networking)

环境:华为云服务器、 CentOS 7.x 操作是 调整网卡配置文件和resolv.conf ,systemctl restart network 重启网络服务总是失败:如下: 按提示看细节: 搜索到还算靠谱的帖子,都说 大多都是网卡配置文件配置错误&#x…

计算机网络复习-OSI TCP/IP 物理层

我膨胀了,挂我啊~ 作者简介: 每年都吐槽吉师网安奇怪的课程安排、全校正经学网络安全不超20人情景以及割韭菜企业合作的FW,今年是第一年。。 TCP/IP模型 先做两道题: TCP/IP协议模型由高层到低层分为哪几层: 这题…

J2EE的十三个规范

J2EE想必大家都不陌生吧,貌似现在更流行将其称作JavaEE,不管名字怎么变,核心和思想是没有变的。学习J2EE首先要了解它的规范,下面我们一起看看它的十三个规范。 1,JDBC(Java Database Connectivity&#xf…

Xshell登录Linux服务器 提示WARNING! The remote SSH server rejected X11 forwarding request 及 提示符显示-bash-4.2#

用root登录 Xshell 登录Linux服务器 提示 WARNING! The remote SSH server rejected X11 forwarding request 以及 用户表示符是:-bash-4.2# 而不是user主机名 路径的显示方式。 首先先查 The remote SSH server rejected X11 forwarding request。 解决过程 …

Q我音乐

转载于:https://www.cnblogs.com/lovelife20/p/3709191.html

SRS 启动正常,拉流没画面,看SRS日志报错 srs is already running

日常启动SRS 出错,如下图:像是已有存在的启动。 然后各种停止进程,停止 SRS 服务,日志还是一样的错误提示。 各种查进程或者程序是否存在,并且reboot过了。都不行,折腾一番,没解决问题。最终重…

web开发常用工具介绍

web开发工具介绍: 主要浏览器:IE浏览器、火狐浏览器、谷歌浏览器、Edge浏览器、Safari浏览器、Opera浏览器等。 浏览器市场份额:http://tongji.baidu.com/data/browser 浏览器内核有四种: Trident内核、Gecko内核、WebKit内核、…

CentOS 7安装Development Tools 失败 报错 group tools does not exist. Maybe run: yum groups mark install

重装centos,以及迁移时,碰见这个问题。如下图: CentOS 7安装Development Tools 失败 报错 group tools does not exist. Maybe run: yum groups mark install 报错图示: 一通尝试。最后如下三行解决。 yum groups mark instal…

HTML常用标签、特殊字符、路径

跳转到邮箱&#xff1a; <a href"mailto:someonemicrosoft.com?subjectHello%20again">发送邮件</a><a href"mailto:someonemicrosoft.com?ccsomeoneelsemicrosoft.com&bccandsomeoneelse2microsoft.com&subjectSummer%20Party&bo…

VM Ware 虚拟机centos 时间与本地时间不一致

VM Ware 虚拟机centos 时间与本地时间不一致&#xff0c;如下图。大致是时区设置的问题&#xff0c;设置为中国标准时区即可&#xff0c;CST。 解决办法 1.安装时间同步插件 ntpdate yum install ntpdate 2.启动服务 service ntpdate restart 或 systemctl restart ntpdat…

html中列表、表格、合并单元格

列表&#xff1a; 分为无序列表、有序列表、自定义列表 无序列表&#xff1a; <ul> <!-- ul标签中只能容纳li标签&#xff0c;li标签里面可以容纳其他标签 --><li>列表项1</li><li>列表项2</li><li>列表项3</li>...</ul&…

结婚虽易,终老不易:EntityFramework和AutoMapper的婚后生活

写在前面 我到底是什么&#xff1f;越界的可怕做好自己后记上一篇《恋爱虽易&#xff0c;相处不易&#xff1a;当EntityFramework爱上AutoMapper》文章的最后提到&#xff0c;虽然AutoMapper为了EntityFramework做了一些改变&#xff0c;然后就看似幸福的在一起了&#xff0c;但…

Linux 学会看日志文件处理问题

rsyslog是一个进程&#xff0c;是一个命令。管理日志的。–》系统日志记录器 它有一个配置文件&#xff1a;/etc/rsyslog.conf 自己创建日志时&#xff0c;要修改该配置文件。 日志的作用&#xff1a; 用于记录系统、程序运行中发生的各种事件&#xff1b; 通过阅读日志&…

html中input、label、form、textarea、select

表单input&#xff1a; 表单是用来收集信息的&#xff0c;由表单控件(表单元素)、提示信息、表单域构成。 input控件的属性及值&#xff1a; 除以上属性外&#xff0c;input元素type属性还有一个number属性值&#xff0c;此为仅可以填数字&#xff0c;默认是可以选择或者填写…

html中文本格式化、预格式化、计算机输出标签、address、title、文字方向、著作

文本格式化标签&#xff1a; 预格式化标签pre&#xff1a; 网页中文本默认是显示一行&#xff0c;没有格式&#xff0c;通过<pre></pre>标签包裹会显示默认的格式。 <pre> <!-- 通过pre标签包裹后&#xff0c;会有默认的格式 -->云想衣裳花想容&…

html5简介、选项输入框、表单元素分组、input新增属性及属性值

HTML5简介: 定义&#xff1a;HTML5号称下一代HTML&#xff0c;html的最新版本&#xff0c;定义了新的标签、css、JavaScript&#xff0c;html5新标签IE9以上版本浏览器才兼容&#xff0c;因此在实际开发中要问老板是否兼容低版本浏览器。 扩展内容&#xff1a;语义化标签、本…