在BigQuery中运行python函数

Dav*_*542 25 python transpiler google-bigquery webassembly

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

根据Felipe的这篇博客文章,似乎C可以编译为WebAssembly并在BQ中运行。

当然,可以使用cython或其他工具将Python编译为C或C ++(甚至可以将其编译为javascript)。因此,我的问题是,有没有人有在BigQuery中执行python函数的经验。如果是这样,您正在使用的流程是什么?

这里可能的选项是:

  • 将python“转换”为javascript以运行。
  • 将python编译为c或cpp并将其编译为wasm

这是使用示例输入:

(1)来源

id         product 
1          box     
2          bottle
Run Code Online (Sandbox Code Playgroud)

(2)要使用的Python函数

def double_id(row):
    return row['id'] * 2

def product_code(row):
    # B3
    return row['product'].upper()[0] + str(len(row['product']))
Run Code Online (Sandbox Code Playgroud)

(3)预期产量

id     product      double_id       product_code
1      box          2               B3
2      bottle       4               B6
Run Code Online (Sandbox Code Playgroud)

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

Mem*_*tor 1

也许我错了,但为什么不尝试google-cloud-bigquery(你可以用 来安装它pip)?

然后你可以这样调用它:

from google.cloud import bigquery

client = bigquery.Client()
Run Code Online (Sandbox Code Playgroud)

并发送您的方法调用bigquery.QueryJobConfig