使用BigQuery运行一个Python函数

2024-05-13 04:10:43 发布

您现在位置:Python中文网/ 问答频道 /正文

可以在BigQuery中运行python函数吗?在

似乎C可以被编译成WebAssembly并在BQ中运行,每this blog post from Felipe。在

当然Python可以用Cython或其他工具编译成C或C++(或者甚至可以被转储到JavaScript)。所以我的问题是,有没有人有在BigQuery中执行python函数的经验。如果是的话,你用的流程是什么?在

这里可能的选项有:

  • 将python“转换”成javascript来运行。在
  • 将python编译成c或cpp并将其编译成wasm

以下是要使用的输入示例:

(1)来源

id         product 
1          box     
2          bottle

(2)要使用的Python函数

^{pr2}$

(3)预期产量

id     product      double_id       product_code
1      box          2               B3
2      bottle       4               B6

我不只是想用javascript重写上面的代码(这可能是最简单的方法),而是寻找一个更通用的解决方案,如果有的话——我可以采用python(标准库)函数并在BigQuery查询中使用它。在


Tags: 函数fromboxidbottleblogjavascriptproduct
1条回答
网友
1楼 · 发布于 2024-05-13 04:10:43

Python 3 Apache Beam+BigQuery 以下是从BigQuery读取并写入BigQuery的关键Beam代码:

with beam.Pipeline(RUNNER, options = opts) as p:
    (p 
      | 'read_bq' >> beam.io.Read(beam.io.BigQuerySource(query=query, use_standard_sql=True))
      | 'compute_fit' >> beam.FlatMap(compute_fit)
      | 'write_bq' >> beam.io.gcp.bigquery.WriteToBigQuery(
          'ch05eu.station_stats', schema='station_id:string,ag:FLOAT64,bg:FLOAT64,cg:FLOAT64')
    )

实际上,我们在BigQuery表上运行查询,运行Python方法compute_fit,并将输出写入BigQuery表。 这是我的计算拟合方法。如您所见,它只是普通的Python代码:

^{pr2}$

请确保指定需要安装在要求.txt公司名称:

%%writefile requirements.txt
numpy
scipy

享受吧! 有关详细信息,请参阅本文档How to run Python code on your BigQuery table

相关问题 更多 >