Db2 到 Netezza 的迁移

Posted

技术标签:

【中文标题】Db2 到 Netezza 的迁移【英文标题】:Db2 to Netezza migration 【发布时间】:2016-07-05 08:31:13 【问题描述】:

我正在研究 SAS,但我不了解 Db2 和 Netezza。 现在我的要求是将下面的代码从 DB2 迁移到 Netezza。 那么你能帮我解决这个问题吗?

这是我的代码:

CREATE TABLE acct_grp_holder (
      acct_num          CHAR(7)       NOT NULL,
      grp_num           CHAR(9)       NOT NULL
    )
    PARTITIONING KEY (grp_num)      
    IN ts_mdc1 /*Not aware what's the meaning of IN here*/
    ORGANIZE BY (grp_num)
    NOT LOGGED INITIALLY 
);

提前致谢。

【问题讨论】:

这看起来不像是有效的 DB2 语句。 IBM 知识中心是获取官方 DB2 和 Netezza(现称为 PureData for Analytics)信息的最佳资源,您应该首先阅读那里的信息,尤其是与创建表相关的信息,因为您已发布创建表语句。 ibm.com/support/knowledgecenter 【参考方案1】:

在不知道该表的预期用途的情况下(例如,如果这用于永久用户或用于 SAS 的数据准备过程的一部分),这里是您转换的起点。

CREATE TABLE acct_grp_holder (
      acct_num          CHAR(7)       NOT NULL,
      grp_num           CHAR(9)       NOT NULL
    )
    DISTRIBUTE ON (grp_num)      
  --DISTRIBUTE ON RANDOM
    ORGANIZE ON (grp_num)

;

PARTITIONING KEY 子句大致相当于 Netezza DISTRIBUTE ON 子句。但是,在不了解您的数据的情况下,我们无法判断使用“随机分布”是否更合适。

原文中的 ORGANIZE BY 子句表示一个 MDC 表。 Netezza 中的 ORGANIZE ON 子句对此进行了粗略的概念拟合。

没有必要也没有能力为表(IN 子句)或日志记录行为指定表空间。

【讨论】:

以上是关于Db2 到 Netezza 的迁移的主要内容,如果未能解决你的问题,请参考以下文章

如何将此代码从 netezza 迁移到 db2?

Oracle 到 Netezza 的迁移 - Connect Prior ...开始在 Netezza 中等效

使用 Netezza 数据源处理 SSAS 维度时出错

Netezza 相关查询

Netezza 存储过程 DB_NAME 作为参数

Netezza 与 C++ 的连接