1

我们计划将海量数据(2500 亿行/5 TB)从 Netezza 复制到 Teradata。复制这些数据的最佳方法是什么?

谢谢

4

4 回答 4

1

使用外部表在 Netezza 中构建平面文件。

然后使用 Teradata MultiLoad 或 Teradata FastLoad 加载文件。

于 2013-10-21T21:19:51.330 回答
0

您可以使用 Python 或 Perl 编写脚本并并行运行加载。速度将仅受您的网络带宽和 Teradata 插入的限制。

于 2013-08-04T14:43:48.670 回答
0

运动鞋网。严重地。将数据下载到 microSD、USB 密钥、DVD 等。运送它并重新加载。它会比通过 Internet 传输更快。

有句老话“永远不要低估装满 9 轨磁带的旅行车的带宽”。有一个更新可以计算一个装满蓝光光盘的波音 747 的带宽
令人印象深刻。

于 2013-06-21T16:27:18.013 回答
0

从 Netezza 到 Teradata: 1) 从 Netezza 导出数据:使用 nzodbcsql 连接到 Netezza,它比 nzsql 快。

调用 NZODBC nzodbcsql -host nzservername -port 5480 -d NZDATABASE -u 用户 -pw 密码 -f /NZ_EXPORT_LOACATION/NZ_EXPORT_SCRIPT

(-f 是您将调用的 NZ_EXPORT_SCRIPT)

脚本应如下所示: CREATE EXTERNAL TABLE '/NZ_EXPORT_DIR/DATAFILE.csv' USING (remotesource 'ODBC' DELIMITER ',' NullValue '' escapechar '\' ctrlchars 'yes' crinstring 'yes') AS SELECT * FROM NZDATABASE 。桌子;

如果您有一个大的事实表,您可以使用“where ((1 <= datasliceid) AND (datasliceid <= 31));”将其分块 把它放在你在脚本中选择之后,你会想要最多 92 个数据片,或者你的盒子里有多少。

2) 将数据快速加载到 Teradata。


我最初回答了错误的问题:但值得这样做的是如何将大量数据从 Teradata 复制到 Greenplum:

从 Teradata 快速导出数据,您可能需要对快速导出的数据运行 SED 以删除一些垃圾字符。如果您想要一个较小的文件,则 SCP/FTP 将数据传送到 GreenPlum ETL 头节点 (GZIP --fast)。创建您的 YAML 和 GPLoad 数据。首先从一小组数据开始。

如果您想从 Netezza 转到 Greenplum,请使用相同的 NZODBC 导出到平面文件,然后使用 GPLOAD 为 NZODBC 导出的平面文件加载平面文件。

于 2015-09-21T11:26:45.777 回答