用informatica将terdata中的数据摄取到hadoop中的最佳方法是什么?

up9lanfz  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(449)

使用并行数据移动将teradata数据库中的数据并行摄取到hadoop中的最佳方法是什么?
如果我们创建一个简单的作业,打开一个到teradata数据库的会话,那么加载巨大的表将花费大量时间。
如果我们创建一组会话来并行加载数据,并且在每个会话中也进行select,那么它将使一组完整的表扫描teradata来生成数据
在并行流中加载数据并给teradata带来不必要的工作负载,建议的最佳实践是什么?

yzxexxkh

yzxexxkh1#

如果tera数据支持像oracle这样的表分区,您可以尝试基于分区点来读取表,这将在读取中启用并行性。。。
另一种选择是,将表拆分为多个分区,就像在索引列上添加where子句一样。这将确保索引扫描,您可以避免全表扫描。

i2loujxw

i2loujxw2#

如果在select子句中使用分区名称,powercenter将只选择该分区中的行,这样就不会出现重复读取(不要忘记在informatica会话级别选择数据库分区)。但是,如果使用密钥范围分区,则必须选择设置中提到的范围。通常我们使用ntile oracle分析函数将表拆分为多个部分,以便在所有选择中读取的数据都是唯一的。如果你有任何问题,请告诉我。如果表中有range/auto-generated/subrogate key列,请在where子句中使用它-编写子查询以将表划分为多个部分。

nhhxz33t

nhhxz33t3#

将数据从teradata形式摄取到hadoop中的最具伸缩性的方法是使用teradata connector for hadoop。它包含在cloudera&hortonworks发行版中。我将展示基于cloudera文档的示例,但hortonworks也是如此:
informatica big data edition通过命令行使用标准的scoop调用,并向其提交一组参数。所以主要的问题是-使用哪个驱动程序在两个mpp系统之间进行并行连接。
以下是cloudera文档的链接:使用teradata支持的cloudera连接器
下面是这个文档的摘要(您可以发现这个连接器支持不同类型的连接之间的负载平衡):
teradata支持的cloudera连接器支持以下方法将数据从teradata导入hadoop:
按安培分割
按值拆分
按分区拆分
按哈希拆分
按安培法拆分
这种最佳方法从teradata检索数据。连接器创建一个Map器可用的teradata amp,每个Map器随后从每个amp检索数据。因此,不需要暂存表。此方法需要teradata 14.10或更高版本。

相关问题