AB Initio Teradata 迁移到 AB Initio BigQuery

问题描述 投票:0回答:1

我的公司在 Teradata 中有一个 DWH,所有管道都是用 AB Initio 编写的,我们希望从 Teradata 迁移到 BigQuery,同时首先保留 AB Initio,然后它们从 AB Initio 迁移。

我需要确定当前代码库中正在使用哪些 Teradata 组件,以了解如何使其使用 BigQuery。

我从未使用过 AB Initio,但我已经获得了访问某些带有一堆目录的 UNIX 存储库的权限:ksh、mp、xfr、cfg、dlm。我无法访问图形开发环境,我唯一拥有的是 unix fs 目录中的文件。

KSH、cfg 和 XFR 文件的可读性很好,但我很难读取 MP 文件,它们看起来像:

@
{14|Type|XXGrepository|Primary_Name|XXGgraph|eme_flatten_format|1|schema_version|34|root_id|0|ent_count|145|rel_count|257|}
    ... (more content)

我向 ChatGPT 询问了 ABInitio MP 文件示例,它给了我一些看起来与我拥有的文件完全不同的东西:

# Begin MP
# This MP file demonstrates a simple ETL process using Teradata components

BEGIN_GRAPH ETL_Teradata_Example

# Define parameters
parameter
  SOURCE_TABLE = 'source_schema.source_table';
  TARGET_TABLE = 'target_schema.target_table';
  MAX_DATE = DM.input_max_date;
end_parameter;

# Read from Teradata source table
component "Read Source"
  :: teradataodbc_read
  key 'Read from Teradata'
  sql_query = 'SELECT * FROM ' & SOURCE_TABLE & ' WHERE update_date <= ' & MAX_DATE
  output_metadata =
  (
    customer_id:      int,
    customer_name:    string[50],
    email:            string[100],
    purchase_amount:  decimal[10,2],
    purchase_date:    date,
    update_date:      datetime
  )
end_component;

# Filter out invalid email addresses
component "Filter Invalid Emails"
  :: filter
  condition = regex_match(email, '^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}$')
end_component;

# Calculate total purchase amount
component "Calculate Total"
  :: rollup
  key = by(customer_id)
  
  output_metadata =
  (
    customer_id:          int,
    total_purchase_amount: decimal[12,2]
  )
  
  expression
    total_purchase_amount = sum(purchase_amount)
  end_expression
end_component;

# Join filtered customers with total purchase amount
component "Join Data"
  :: join
  key = by(customer_id)
  join_type = inner
end_component;

# Write results to Teradata target table
component "Write Target"
  :: teradataodbc_write
  key 'Write to Teradata'
  table_name = TARGET_TABLE
  operation = insert
  error_threshold = 0
end_component;

# Define the flow
"Read Source" -> "Filter Invalid Emails" -> "Join Data";
"Read Source" -> "Calculate Total" -> "Join Data" -> "Write Target";

END_GRAPH
# End MP

我有几个问题:

  1. 我错过了什么吗?
  2. 无论如何,我可以从我拥有的文件中获取可读的 MP 文件吗?
  3. 如何识别 Teradata 组件并知道哪些是其 BigQuery 对应组件?
  4. 有 AB Initio 的任何文档吗?
google-bigquery teradata ab-initio
1个回答
0
投票

查看 travinto.com。我们将他们的产品用于一个大型迁移项目,其中我们必须将 1000 个 AB Initio 作业迁移到 GCP。他们的解决方案无缝且高效地处理了该过程。希望这可以帮助您顺利有效地迁移。

© www.soinside.com 2019 - 2024. All rights reserved.