繁体   English   中英

气流:将巨大的数据集从数据库传输到远程计算机

[英]Airflow: transfer a huge dataset from a database to a remote machine

我有以下设置:远程机器'D'包含Postgres DB。 远程机器'C'包含数据处理平台。 气流在本地机器'L'上运行。 预计来自DB的简单选择查询将导致大小约为1 GB的数据集。

我想创建一个气流DAG,其中一个任务是在DB上运行查询并将结果传输到“C”。 但是GenericTransfer运营商的官方文档说:

“这意味着要用于适合内存的小型数据集。”

如何可靠地将大数据集从“D”传输到“C”?

在python中尝试循环块,它可以生成并执行有限数据的查询。

limit = 256

循环{

  query (with limit)<b>
   limit +=256

 }

您可以使用dbapi的executemany扩展Operator以插入数据

由于您使用的是postgres,为什么不使用COPY?

它是PG最好的部分之一。 它内外都很快,适用于较大的数据集。

这是COPY命令文档的链接。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM