私はuuidとユーザのためのいくつかの他の値を含むテーブルを持っています。選択時に大きなクエリUDFを使用する
また、私はMD5とCRC32値に基づいて、与えられたUUIDによってUSER_GROUP計算BQに次のUDFの機能を持っている:
function GetGroup(uuid) {...
}
function getUserGroup(r, emit) {
emit ({group: GetGroup(String(r.uuid)), uuid: r.uuid
});
}
bigquery.defineFunction(
'get_group',
['uuid'],
[{'name': 'group', 'type': 'string'}, {'name': 'uuid', 'type': 'string'}],
getUserGroup);
だから、私のような何かをする必要があり、ユーザーの値を抽出するために:
SELECT
group,
uuid
FROM
get_group(
SELECT
uuid
FROM
[MY_TABLE])
私は別のテーブルのカップルでのUUIDのための同じUSER_GROUPを抽出したいと私はそれを使用するたびに「get_group」関数を定義したくないので、これは、非常に有用ではありません。また、テーブルのすべてのフィールドが必要な場合は、元のテーブルで結果をジョインするか、UDFでテーブルスキーマをハードコードする必要があります。
Big Queryの組み込み関数と同様のUDFを使用する便利な方法はありますか?たとえば:
SELECT
uuid,
get_group(uuid)
FROM
[ANY_TABLE_WITH_UUID_FIELD]