使用 Informatica 将数据从 Teradata 提取到 Hadoop 中的最佳方式是什么?
What is the best way to ingest data from Terdata into Hadoop with Informatica?
通过并行数据移动将数据从 Teradata 数据库并行提取到 Hadoop 的最佳方法是什么?
- 如果我们创建一个简单的作业,打开一个与 Teradata 数据库的会话,加载巨大的数据将花费大量时间 table。
- 如果我们创建一组会话来并行加载数据,并在每个会话中进行 Select,那么它将进行一组完整的 table 扫描 Teradata 以生成一个数据
在并行流中加载数据并对 Teradata 造成不必要的工作负载的推荐最佳做法是什么?
如果 Tera 数据像 oracle 一样支持 table 分区,您可以尝试根据分区点读取 table,这将在读取中启用并行性...
您的另一个选择是,将 table 拆分为多个分区,例如在索引列上添加 where 子句。这将确保索引扫描,您可以避免完全 table 扫描。
如果您在 select 子句中使用分区名称,Power Center 将 select 仅该分区中的行,因此不会重复读取(不要忘记选择数据库分区在 Informatica 会话级别)。但是,如果您使用键范围分区,则必须选择您在设置中提到的范围。通常我们使用 NTILE oracle 分析函数将 table 拆分为多个部分,以便读取在 select 中是唯一的。如果您有任何问题,请告诉我。如果您在 table 中有 range/auto generated/surrogate 键列,请在 where 子句中使用它 - 编写一个子查询将 table 分成多个部分。
我发现将数据提取到 Hadoop form teradata 中的最具可扩展性的方法是使用适用于 hadoop 的 Teradata 连接器。它包含在 Cloudera 和 Hortonworks 发行版中。我将展示基于 Cloudera 文档的示例,但同样适用于 Hortonworks:
Informatica 大数据版正在通过命令行使用标准 Scoop 调用并向其提交参数集。所以主要问题是 - 使用哪个驱动程序在两个 MPP 系统之间建立并行连接。
这里是 Cloudera 文档的 link:
Using the Cloudera Connector Powered by Teradata
这是该文档的摘要(您会发现该连接器支持不同类型的连接间负载平衡):
Cloudera Connector Powered by Teradata supports the following methods for importing data from Teradata to Hadoop:
- split.by.amp
- split.by.value
- split.by.partition
- split.by.hash
- split.by.amp Method
This optimal method retrieves data from Teradata. The connector creates one mapper per available Teradata AMP, and each mapper subsequently retrieves data from each AMP. As a result, no staging table is required. This method requires Teradata 14.10 or higher.
通过并行数据移动将数据从 Teradata 数据库并行提取到 Hadoop 的最佳方法是什么?
- 如果我们创建一个简单的作业,打开一个与 Teradata 数据库的会话,加载巨大的数据将花费大量时间 table。
- 如果我们创建一组会话来并行加载数据,并在每个会话中进行 Select,那么它将进行一组完整的 table 扫描 Teradata 以生成一个数据
在并行流中加载数据并对 Teradata 造成不必要的工作负载的推荐最佳做法是什么?
如果 Tera 数据像 oracle 一样支持 table 分区,您可以尝试根据分区点读取 table,这将在读取中启用并行性...
您的另一个选择是,将 table 拆分为多个分区,例如在索引列上添加 where 子句。这将确保索引扫描,您可以避免完全 table 扫描。
如果您在 select 子句中使用分区名称,Power Center 将 select 仅该分区中的行,因此不会重复读取(不要忘记选择数据库分区在 Informatica 会话级别)。但是,如果您使用键范围分区,则必须选择您在设置中提到的范围。通常我们使用 NTILE oracle 分析函数将 table 拆分为多个部分,以便读取在 select 中是唯一的。如果您有任何问题,请告诉我。如果您在 table 中有 range/auto generated/surrogate 键列,请在 where 子句中使用它 - 编写一个子查询将 table 分成多个部分。
我发现将数据提取到 Hadoop form teradata 中的最具可扩展性的方法是使用适用于 hadoop 的 Teradata 连接器。它包含在 Cloudera 和 Hortonworks 发行版中。我将展示基于 Cloudera 文档的示例,但同样适用于 Hortonworks:
Informatica 大数据版正在通过命令行使用标准 Scoop 调用并向其提交参数集。所以主要问题是 - 使用哪个驱动程序在两个 MPP 系统之间建立并行连接。
这里是 Cloudera 文档的 link: Using the Cloudera Connector Powered by Teradata
这是该文档的摘要(您会发现该连接器支持不同类型的连接间负载平衡):
Cloudera Connector Powered by Teradata supports the following methods for importing data from Teradata to Hadoop:
- split.by.amp
- split.by.value
- split.by.partition
- split.by.hash
- split.by.amp Method
This optimal method retrieves data from Teradata. The connector creates one mapper per available Teradata AMP, and each mapper subsequently retrieves data from each AMP. As a result, no staging table is required. This method requires Teradata 14.10 or higher.