01 2013 档案

datastage tips 二:使用crontab+shell定时调度datastage job
摘要:在使用datastage抽取数据的过程中,经常会遇到要求以准实时(如每隔3分钟同步一次数据)进行数据抽取的需求。这些要求可以使用crontab+shell来实现。如下图所示,此为整个shell调度DS JOB的流程:首先使用dsjob的jobinfo参数获取该JOB的进程号(process_id)和状态值(state).当state异常时,重置该JOB;当state正常时,判断该job是否在运行(即process_id是否为0)。若process_id=0,表示目前该JOB未运行,正常调度该JOB,若process_id>0,表示该JOB正在运行阶段,转置结束处。代码如下:#!/bin/ 阅读全文

posted @ 2013-01-30 17:17 gobird 阅读(3739) 评论(2) 推荐(0)

执果索因调整greenplum table dk值
摘要:前面一篇文章写到如何通过gp_segment_id来判断表的DK值设置有数据,下面是通过查看占用空间的量来检查分配不平衡的表,并重新调整着DK值。我的一台greenplum机器,其中的一个节点的数据量比其它的节点多很多,说明数据分布的不平衡,如下所示:以sdw16为例:$du -sh /gpdata{1,2}/data/gp*347G /gpdata1/data/gp30412G /gpdata1/data/gp62357G /gpdata1/data/gp63336G /gpdata2/data/gp31338G /gpdata2/data/gp94343G /gpdata2/data/gp 阅读全文

posted @ 2013-01-13 21:55 gobird 阅读(763) 评论(0) 推荐(0)

greenplum查看表的数据分布情况来调整dk值
摘要:最近正在进行ETL后台系统数据的日志分析,查看运行耗时长的TASK,并找出耗时长的JOB,进行逻辑层面和数据库层面的优化.本文仅从数据库层面上的优化着手(包括SQL语句的调整以及greenplum table dk的调整).查看一个耗时30分钟左右的JOB,找到相应的源表,进行如下分析:dw=#select gp_segment_id,count(*) from tb_name group by gp_segment_id order by count(*) descgp_segment_id count---------------------- 65 166... 阅读全文

posted @ 2013-01-11 20:00 gobird 阅读(8615) 评论(1) 推荐(2)

导航