首页 > 解决方案 > 将 SQL 表转储到 FILE 并应用自定义函数?

问题描述

我有一种情况,编写 PL/pgSQL 函数解决方案既慢又麻烦,而且可能不可能,因为我需要许多 python 模块。这就是为什么我想选择 VAEX 或 DASK。

计划:将 SQL 表转储到文件中,然后应用 func。

伪代码:

def olap(ary,tbl_field):
  return set(ary) & set(tbl_field)

然后对于 FILE 循环中的每一行并找到最高的重叠。

伪代码:

for row in FILE:
   max_olap = select olap(row.fieldX::int[], F.fieldX::int[]) as score
              from FILE as F
              order by score desc limit 1
   res.append(row.id, max_olap)

save2SQLTable(res) #or file first

#or better yet insert during the loop, unless it breaks parallization

即循环内循环。

我说的是约 100 万行。

olap()功能仅用于说明。真正的乐趣要复杂得多,但仍然接受两个数组作为参数。

哪种工具更适合这种情况?

如何将 SQL 表转储到 numpy|panda|?什么格式适合可变数组字段?

我想使用并行化功能?

完成后,我必须将结果导入 SQL 表。

过程任何部分的任何示例。

到目前为止我发现了什么:

标签: pythonpostgresqluser-defined-functionsdaskvaex

解决方案


推荐阅读