使用Informatica从Terdata向Hadoop提取数据的最佳方法是什么?

时间:2017-07-04 16:25:28

标签: hadoop teradata informatica informatica-powercenter bigdata

在并行数据移动的情况下,将数据从Teradata数据库并行采集到Hadoop的最佳方法是什么?

  • 如果我们创建一个简单的作业,打开Teradata数据库的一个会话,则需要花费大量时间来加载大表。
  • 如果我们创建一组会话来并行加载数据,并且还在每个会话中进行选择,那么它将使一组全表扫描Teradata生成数据

在并行化流中加载数据并为Teradata带来不必要的工作量的建议最佳做法是什么?

3 个答案:

答案 0 :(得分:1)

如果Tera数据支持像oracle这样的表分区,你可以尝试根据分区点读取表格,这样可以实现阅读中的并行...

您拥有的其他选项是,将表拆分为多个分区,例如在索引列上添加where子句。这将确保索引扫描,您可以避免全表扫描。

答案 1 :(得分:0)

如果在select子句中使用分区名称,Power Center将仅选择该分区中的行,因此不会有重复读取(不要忘记在Informatica会话级别选择数据库分区)。但是,如果使用键范围分区,则必须选择设置中提到的范围。通常我们使用NTILE oracle分析函数将表拆分成多个部分,以便读取在选择中是唯一的。如果您有任何疑问,请告诉我。如果表中有range / auto generated / surrogate键列,请在where子句中使用它 - 写一个子查询将表分成多个部分。

答案 2 :(得分:0)

将数据提取到Hadoop形式teradata的最具扩展性的方法是,我发现将Teradata连接器用于hadoop。它包含在Cloudera& Hortonworks发行版。我将基于Cloudera文档展示示例,但同样适用于Hortonworks:

Informatica大数据版通过命令行使用标准的Scoop调用并向其提交参数集。所以主要问题是 - 用于在两个MPP系统之间建立并行连接的驱动程序。

以下是Cloudera文档的链接: Using the Cloudera Connector Powered by Teradata

以下是本文档的摘要(您可以发现此连接器支持不同类型的连接之间的负载平衡):

  

由Teradata提供支持的Cloudera Connector支持以下方法将数据从Teradata导入Hadoop:

     
      
  • split.by.amp      
        
    • split.by.value
    •   
    • split.by.partition
    •   
    • split.by.hash
    •   
    • split.by.amp方法
    •   
  •   
     

此最佳方法从Teradata检索数据。连接器为每个可用的Teradata AMP创建一个映射器,每个映射器随后从每个AMP检索数据。因此,不需要临时表。此方法需要Teradata 14.10或更高版本。