繁体   English   中英

sas teradata fastload问题

[英]sas teradata fastload issue

有没有快速的方法将数据加载到teradata? 我需要为teradata加载350,000个帐号,现在它已经运行了大约4.5个小时。

我只是使用数据步骤。 以下是我的代码。 谢谢

libname myid  teradata authdomain=IDWPRD server=IDWPRD database=myid mode=teradata connection=global;

proc delete data=myid.tera1;
run;

proc sql; 
create table out.REQ_1_1_05l as 
select distinct ACCOUNT_NB as ACCT_NB
FROM OUT.REQ_1_1_05;
quit;

data myid.tera1;
set OUT.REQ_1_1_05l ;
run;

在libname语句中使用bulkload=yes选项:

libname myid  teradata authdomain=IDWPRD server=IDWPRD database=myid mode=teradata connection=global bulkload=yes;

data tera.want;
     set have;
run;

有关Teradata的其他性能信息,请访问: http//support.sas.com/documentation/cdl/en/acreldb/63647/HTML/default/viewer.htm#a001405937.htm

这通常是不良做法的结果。 如果350,000条记录花费的时间超过几分钟甚至没有批量加载实用程序,那么对我来说也是令人惊讶的(除非它是非常宽的表)。

在Teradata中,表行分布在访问模块处理器(AMP)上。 行分布取决于定义的主索引列的唯一性。 主索引列越独特,数据分布越好,反之亦然。 AMP中表行的不正确分布将导致数据偏斜。

下面的查询将创建Teradata表,第一列作为主索引。 如果第一列具有很少的不同值,则会创建倾斜表。 如前所述,倾斜表的影响会导致空间浪费,并且可能需要非常长的时间才能完成查询。

  data myid.tera1;
 set OUT.REQ_1_1_05l ;
run;                                                                                                                                            

数据集选项dbcreate_table_opts可以显式定义主索引。 dbcreate_table_opts =数据集选项需要关键字主索引,后跟括号中的列名。

 data  myid.tera1
    (dbcreate_table_opts= 'primary index(yourcolumn)');  
  set OUT.REQ_1_1_05l; 
 run;

请选择适当的唯一主索引,这通常是Teradata中最重要的事情。

请查看下面的文章,其中解释了SAS程序员在使用Teradata时可能遇到的常见问题。

https://www.lexjansen.com/mwsug/2016/SA/MWSUG-2016-SA11.pdf

您还可以使用快速加载实用程序,如下所示。 快速加载可以进行批量加载,并且可以非常快速地将数据从sas移动到Teradata。

    data  myid.tera1
    (fastload =yes dbcreate_table_opts= 'primary index(yourcolumn)');  
  set OUT.REQ_1_1_05l; 
 run;

如果您想了解有关SAS和Teradata数据移动的所有信息,请查看Jeff Bailey撰写的论文。

https://support.sas.com/.../EffectivelyMovingSASDataintoTeradata.pdf

最后检查你的表myid.tera1是否设置了表,这将不允许重复,但这可能不是主要因素。 如果您使用Teradata sql助手显示表,它将为您提供是设置还是多集表。 设置表不允许行级重复并检查插入前的每一行和加载时间。

dbcommit=选项添加到libname语句中。 默认值为1条记录,即它在每条记录上提交。 使用此值可以找到配置的最佳设置。

libname myid teradata authdomain=IDWPRD server=IDWPRD database=myid mode=teradata connection=global dbcommit=5000 ;

https://support.sas.com/documentation/cdl/en/acreldb/63647/HTML/default/viewer.htm#a001371531.htm

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM