Bigquery内部的Fuzzball

问题描述

如何在Bigquery中将Fuzzball Java脚本实现为UDF? Fuzzball有大量的依赖库,要在Bigquery中将其作为UDF的一部分,这是一个挑战。

解决方法

目前尚不清楚您在哪里遇到麻烦,因此我将逐步介绍使用模糊球创建JavaScript UDF的过程。

  1. 下载fuzzball软件包:npm i fuzzball
  2. 将适当的文件上传到GCS存储桶。您想要的可能是umd或esm文件。在撰写本文时,fuzzball.umd.min.js
  3. 编写您的SQL UDF,并在OPTIONS中提供存储区路径和包文件。

例如:

CREATE OR REPLACE FUNCTION
  project.table.func (str_1 STRING,str_2 STRING)
RETURNS INT64
LANGUAGE js AS '''
return fuzzball.distance(str_1,str_2);
'''
OPTIONS (library='gs://bucket_name/fuzzball.umd.min.js');

现在您应该能够根据需要调用UDF。