csv 数据从远程 unix 服务器加载到另一个远程服务器 postgres

csv data load from remote unix server to another remote server postgres

我有一个位于远程 unix 服务器上的 csv 文件。我需要将该数据加载到当前位于另一台远程服务器上的 postgres 数据库(greenplum)中。

目前,我正在使用 winscp 将 csv 拉入我的本地驱动器,然后使用带有本地副本的 pgadmin 将其加载到 greenplum 远程。

这似乎是一种迂回的方法,将数据拉入本地机器,然后将其放入greenplum。需要很长时间(>100 小时)

我认为必须有一种方法可以在没有本地干预的情况下将远程 csv 批量加载到远程 greenplum 数据库。有没有人有这种数据迁移的经验?我正在为 ETL 使用 talend。

谢谢!

是的,有一种批量加载方式可以将数据从远程服务器加载到 Greenplum。它也明显更快。

您的 Talend 服务器需要联网,以便它可以与集群中的分段主机通信。以下是有关如何配置网络的指南:http://gpdb.docs.pivotal.io/4380/admin_guide/intro/about_loading.html

然后您可以使用 "gpload" 加载数据。这是一个实用程序,可以自动执行启动 gpfdist 进程、创建外部 table 并为您执行 INSERT 语句的任务。关于 gpload 的文档:http://gpdb.docs.pivotal.io/4380/utility_guide/admin_utilities/gpload.html#topic1

最后,Talend 是 Pivotal 的合作伙伴,他们有很多关于如何使用他们的工具将数据加载到 Greenplum 的文档。它利用 gpfdist 将数据并行加载到数据库,就像 gpload 一样。