查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
沙希坎特
新的用户
.jpg)
已加入:2007年9月7日 帖子:6 地点:钦奈
|
|
|
|
大家好,
我有一个工作步骤,可以合并10个数据集。
这些数据集中的每个数据集最少都有一百万条记录,而此步骤花费了大部分时间来合并这些数据集本身,
谁能帮我提供最好的解决方案,以便我可以减少此步骤花费的时间
谢谢,
沙希坎特 |
|
回到顶部 |
|
 |
外籍人士
全球主持人

已加入:2007年3月14日 帖子:8794 地点:威尔士威尔士
|
|
|
|
您现在如何处理? |
|
回到顶部 |
|
 |
沙希坎特
新的用户
.jpg)
已加入:2007年9月7日 帖子:6 地点:钦奈
|
|
|
|
这是在同一作业步骤中10个数据集的简单串联。
// skrao1 dd = dsn1,disp = shr
// dd = dsn2,disp = shr
// dd = dsn3,disp = shr
// dd = dsn4,disp = shr
// dd = dsn5,disp = shr
// dd = dsn6,disp = shr
// dd = dsn7,disp = shr
// dd = dsn8,disp = shr
// dd = dsn9,disp = shr
// dd = dsn10,disp = shr
谢谢,
沙希坎特 |
|
回到顶部 |
|
 |
斯托多拉斯
活跃成员

已加入:2007年6月13日 帖子:632 地点:威斯康星州
|
|
|
|
什么是20分钟,10分钟的“大多数时间”?墙上时间,CPU时间?如果一项作业运行8个小时,并且仅使用1个小时的CPU时间,那可能是一件好事。如果此步骤需要10分钟,那可能不是一件坏事 |
|
回到顶部 |
|
 |
外籍人士
全球主持人

已加入:2007年3月14日 帖子:8794 地点:威尔士威尔士
|
|
|
|
使用什么程序来连接数据? |
|
回到顶部 |
|
 |
比尔·丹尼斯
活跃成员

已加入:2007年8月17日 帖子:562 地点:美国爱荷华州
|
|
|
|
数据集在磁带还是DASD上?如果是胶带,它们是否多卷?什么记录大小/块大小? |
|
回到顶部 |
|
 |
Craq Giegerich
高级会员
加入时间:2007年5月19日 帖子:1512 地点:美国弗吉尼亚
|
|
|
|
它甚至似乎都不是合并!一些更多的细节将帮助我们为您提供帮助! |
|
回到顶部 |
|
 |
艾丽莎·玛格丽丝(Alissa Margulies)
同步排序支持
已加入:2007年7月25日 帖子:496 地点:美国
|
|
|
|
沙希坎特,
我做了以下假设:
1.所有数据集都是FB,并且具有相同的LRECL。
2.所有数据均已排序。
3. SORT控制字段从位置1开始,长度为10。
尝试以下操作(根据您的实际数据进行修改):
码: |
// STEP1 EXEC PGM = SORT
// SORTIN01 DD DSN = FILE1,DISP = SHR
// SORTIN02 DD DSN = FILE2,DISP = SHR
// SORTIN03 DD DSN = FILE3,DISP = SHR
// SORTIN04 DD DSN = FILE4,DISP = SHR
// SORTIN05 DD DSN = FILE5,DISP = SHR
// SORTIN06 DD DSN = FILE6,DISP = SHR
// SORTIN07 DD DSN = FILE7,DISP = SHR
// SORTIN08 DD DSN = FILE8,DISP = SHR
// SORTIN09 DD DSN = FILE9,DISP = SHR
// SORTIN10 DD DSN = FILE10,DISP = SHR
//整理 DD DSN = 合并D.OUTPUT,DISP = ...
// SYSOUT DD SYSOUT=*
// SYSIN DD *
合并 FIELDS=(1,10,CH,A)
/ * |
|
|
回到顶部 |
|
 |
UmeySan
活跃成员

已加入:2006年8月22日 职位:771 地点:德国
|
|
|
|
嗨,shishikant!
假设与Alissa Margulies相同,并且每个DSN都有最少一百万条记录,我将使用$ ORTPARM参数分配更多空间以进行排序。
像这样:
VSCORE = 5M
VSCORET = 30M
另外,尝试将DD中的BUFNO参数用于Sortin-Files。
我也同意斯托多拉斯!
此致UmeySan |
|
回到顶部 |
|
 |
拉曼哥达帕蒂尔
新的用户

已加入:2008年4月9日 帖子:39 地点:印度
|
|
|
|
如果我错了,请纠正我。 艾丽莎(Alissa),我们不需要为使用SORT实用程序完成的合并指定工作文件吗? |
|
回到顶部 |
|
 |
艾丽莎·玛格丽丝(Alissa Margulies)
同步排序支持
已加入:2007年7月25日 帖子:496 地点:美国
|
|
|
|
沙希坎特,
如果您一直在测试向您提出的各种建议,但是仍然看不到所需的性能改进,那么请在您的排序步骤中添加以下内容:
码: |
// $ ORTPARM DD *
MSG = AP,LIST,GMSG |
这将提供其他调整消息,这将有助于我更好地为您提供帮助。您可以通过以下方式向我发送离线的完整工作清单的电子邮件: alissa.margulies@syncsort.com.
(正如UmeySan和stodolas所指出的那样,您仍然需要确定要改进的地方-挂钟或CPU时间)。 |
|
回到顶部 |
|
 |
艾丽莎·玛格丽丝(Alissa Margulies)
同步排序支持
已加入:2007年7月25日 帖子:496 地点:美国
|
|
|
|
拉曼哥达·帕蒂尔写道: |
如果我错了,请纠正我。 艾丽莎(Alissa),我们不需要为使用SORT实用程序完成的合并指定工作文件吗? |
如果启用了动态分配(通过DYNALOC安装选项或DYNALLOC运行时参数),则不会。 |
|
回到顶部 |
|
 |
艾丽莎·玛格丽丝(Alissa Margulies)
同步排序支持
已加入:2007年7月25日 帖子:496 地点:美国
|
|
|
|
UmeySan写道: |
另外,尝试将DD中的BUFNO参数用于Sortin-Files。 |
在SyncSort处理I / O的正常情况下,SyncSort会忽略FYI,BUFNO值。 |
|
回到顶部 |
|
 |
拉曼哥达帕蒂尔
新的用户

已加入:2008年4月9日 帖子:39 地点:印度
|
|
|
|
艾丽莎(Alissa)
码: |
// $ ORTPARM DD *
MSG = AP,LIST,GMSG |
您能否详细说明这段代码的含义? |
|
回到顶部 |
|
 |
艾丽莎·玛格丽丝(Alissa Margulies)
同步排序支持
已加入:2007年7月25日 帖子:496 地点:美国
|
|
|
|
拉曼哥达·帕蒂尔写道: |
码: |
// $ ORTPARM DD *
MSG = AP,LIST,GMSG |
您能否详细说明这段代码的含义? |
$ ORTPARM DD语句用于覆盖PARM或控制语句信息。在这种情况下,我想确保所有与排序相关的消息都被写入消息数据集(MSG = AP),标题行和用户控制语句也与SYSOUT数据集(LIST)一起列出,并且要进行其他调整消息被发布(GMSG)。
希望这可以帮助。 |
|
回到顶部 |
|
 |
拉曼哥达帕蒂尔
新的用户

已加入:2008年4月9日 帖子:39 地点:印度
|
|
|
|
最后一个疑问Alissa
如何看待消息数据集(MSG = AP)和GMSG(它们的路径或存储位置)?
以及如何微调查找它们的排序(您可以通过举例说明CU时间的值并由此进行解释来提供很多帮助)
非常感谢! |
|
回到顶部 |
|
 |
艾丽莎·玛格丽丝(Alissa Margulies)
同步排序支持
已加入:2007年7月25日 帖子:496 地点:美国
|
|
|
|
拉曼哥达·帕蒂尔写道: |
如何看待消息数据集(MSG = AP)和GMSG(它们的路径或存储位置)? |
每个站点都通过MSGDD安装选项控制将SyncSort消息路由到的位置。默认名称是SYSOUT。但是,如果您需要验证当前设置,则可以运行SYNCLIST,该报告将生成所有当前SyncSort安装选项的报告。
拉曼哥达·帕蒂尔写道: |
以及如何对进入他们的排序进行微调 |
“ G”消息包含专门为SyncSort技术人员分析而设计的内部信息。 |
|
回到顶部 |
|
 |
c
高级会员
已加入:2006年7月28日 职位:1702 所在地:澳大利亚
|
|
|
|
你好
引用: |
如果我错了,请纠正我。 艾丽莎(Alissa),我们不需要为使用SORT实用程序完成的合并指定工作文件吗? |
为什么在使用MERGE时需要工作文件,而不应该对文件进行排序?
格里 |
|
回到顶部 |
|
 |
弗兰克·雅格
DFSORT开发人员

已加入:2005年2月15日 帖子:7129 地点:加利福尼亚州圣何塞
|
|
|
|
艾丽莎(Alissa)说:
引用: |
如果我错了,请纠正我。 艾丽莎(Alissa),我们不需要为使用SORT实用程序完成的合并指定工作文件吗? |
引用: |
如果启用了动态分配(通过DYNALOC安装选项或DYNALLOC运行时参数),则不会。 |
艾丽莎
您是说Syncsort实际上将动态分配用于 合并? DFSORT不会,所以让Syncsort感到惊讶。
我看到人们经常将// SORTWKdd DD文件用于COPY和MERGE,并且我建议他们删除它们以避免浪费空间,所以我想在这里消除混乱。 |
|
回到顶部 |
|
 |
阿伦·拉吉(Arun Raj)
主持人
已加入:2006年10月17日 帖子:2481 位置:@我的办公桌
|
|
|
|
引用: |
我看到人们经常使用// SORTWKdd DD文件进行COPY和MERGE,我建议他们删除它们以避免浪费空间 |
坦率,
您是说COPY和MERGE不需要SORTWKdd吗?
谢谢,
阿伦 |
|
回到顶部 |
|
 |
迪克·谢勒
主持人荣誉

已加入:2006年11月23日 帖子:19245 位置:矩阵内部
|
|
|
|
你好,
是的,复制和合并通常不需要它们。
顾名思义(SORTWKxx),它们通常是用于排序的工作空间,用于整理从“未排序”到所需序列的数据。
COPY不在乎序列,而MERGE意味着要合并的文件已经在所需的序列中。 |
|
回到顶部 |
|
 |
弗兰克·雅格
DFSORT开发人员

已加入:2005年2月15日 帖子:7129 地点:加利福尼亚州圣何塞
|
|
|
|
引用: |
坦率,
您是说COPY和MERGE不需要SORTWKdd吗? |
正确-DFSORT不会将工作数据集用于COPY或MERGE,而仅用于SORT。如果为COPY或MERGE指定SORTWKdd DD,则系统会分配空间,但是DFSORT不使用SORTWKdd数据集,因此会浪费空间。如果使用工作数据集的动态分配而不是JCL SORTWKdd DD(对于DFSORT推荐),则DFSORT不会为COPY或MERGE分配任何工作空间,因此不会浪费空间。 |
|
回到顶部 |
|
 |
阿努·达万(Anuj Dhawan)
高级会员

已加入:2006年4月22日 帖子:6250 地点:印度孟买
|
|
|
|
你好
甚至SyncSort在MERGE中都不使用任何SORTWKdd文件,我店中的LPAR之一使用SyncSort,在JOB下用于MERGE,而没有SORTWKdd,就很好。
码: |
// SORTIN1 DD DSN=HLQ.FIRST.FILE,
// DISP=SHR
// SORTIN2 DD DSN = HLQ.SECOND.FILE,
// DISP=SHR
//整理 DD DSN=HLQ.MERGE.FILE,
// DISP=(NEW,CATLG,CATLG),
// DSORG=PS,
// RECFM=FB,
// LRECL=80,
// BLKSIZE=0,
// DATACLAS=LARGE,
// UNIT=SYSDA
// * SORTWK01 DD UNIT = SYSDA,SPACE=(CYL,(20,5))
// SYSIN DD *
合并 FIELDS=(1,10,CH,A)
/ * |
请注意,DD SORTWK01已被注释掉。
我想这次对话
引用: |
如果我错了,请纠正我。 艾丽莎(Alissa),我们不需要为使用SORT实用程序完成的合并指定工作文件吗?
引用: |
如果启用了动态分配(通过DYNALOC安装选项或DYNALLOC运行时参数),则不会。 |
|
可能是因为手指快。
希望这可以帮助。 |
|
回到顶部 |
|
 |
c
高级会员
已加入:2006年7月28日 职位:1702 所在地:澳大利亚
|
|
|
|
嗨阿努吉,
您的示例并不能最终指示是否可以将WORK文件用作DYNALOC,因此您无需指定SORTWK文件。
我认为我们需要Alissa来回答这个问题,否则作业输出可能会显示有关是否使用SORTWK文件的信息。
如果需要它们,我会感到惊讶。
格里 |
|
回到顶部 |
|
 |
CICS家伙
高级会员

已加入:2007年7月18日 帖子:2146 位置:在我的咖啡桌上
|
|
|
|
c写道: |
您的示例并不能最终指示是否可以将WORK文件用作DYNALOC,因此您无需指定SORTWK文件。 |
没关系,但是COPY永远不需要任何形式的作品。
合并要求是所有输入都按相同的顺序进行,如果存在“不按顺序”条件,则合并将失败。
相信这一点,MERGE和COPY不需要工作空间! |
|
回到顶部 |
|
 |
|