python - 将数据从 DB2 DB 传输到 greenplum DB

标签 python postgresql db2 datamart greenplum

我的公司已决定使用 [Greenplum] 实现数据集市,我的任务是弄清楚如何继续进行下去。要从现有 [DB2] 数据库传输到 Greenplum 数据库的数据量的粗略数字约为 2 TB。

我想知道: 1) Greenplum DB 与 vanilla [PostgresSQL] 一样吗? (我在 Postgres AS 8.3 上工作过) 2)是否有任何(免费)工具可用于此任务(提取和导入) 3)我对Python有一定的了解。在合理的时间内做到这一点是否可行甚至容易?

我不知道该怎么做。我们非常欢迎任何意见、提示和建议。

最佳答案

1) Greenplum 不是普通的 postgres,但它很相似。它有一些新的语法,但总的来说是高度一致的。

2) Greenplum 本身提供了一种叫做“gpfdist”的东西,它可以让你监听一个你指定的端口,以便引入一个文件(但文件必须被分割)。您需要可读的外部表。他们相当快。语法如下所示:

CREATE READABLE EXTERNAL TABLE schema.ext_table
( thing int, thing2 int )
LOCATION (
    'gpfdist://server:port1/path/to/filep1.txt',
    'gpfdist://server:port2/path/to/filep2.txt',
    'gpfdist://server:port3/path/to/filep3.txt'
) FORMAT 'text' (delimiter E'\t' null 'null' escape 'off') ENCODING 'UTF8';

CREATE TEMP TABLE import AS SELECT * FROM schema.ext_table DISTRIBUTED RANDOMLY;

如果您遵守他们的规则并且您的数据是干净的,那么加载速度会非常快。

3) 您不需要 python 来执行此操作,尽管您可以通过使用 python 启动 gpfdist 进程,然后向 psql 发送创建外部表并加载数据的命令来自动执行此操作。取决于你想做什么。

关于python - 将数据从 DB2 DB 传输到 greenplum DB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6110384/

相关文章:

sql - DB2 将自动增量列添加到现有表

Python 像 GitHub 一样比较两个多行字符串

Python GIL 和全局变量

database - 来自 pg_dumpall (Ubuntu) 的 PostgreSQL 备份

mysql - 使用 knex 和 bookshelf 创建数据库和模式的语法?

sql - 如何将值分配到桶中并找到包含值的桶?

java - JNDI 缓存中存储了什么?

python - 在Python中执行一个BASH命令——在同一个进程中

python - Spacy 日语分词器

python - 使用 pytest 保留响应上下文测试 flask 应用程序