gpt4 book ai didi

google-bigquery - 在 BigQuery 中使用 url 编码值

转载 作者:行者123 更新时间:2023-12-01 01:53:11 27 4
gpt4 key购买 nike

我使用 gzipped 日志文件,其中包含 url 编码的列。 (空格字符编码为“%20”等)。

我的计划是将这些文件直接从 Google Cloud Storage 导入 BigQuery。

我在 Load config 中没有找到任何选项在导入期间自动解码值。

我猜你不会建议使用一系列 REGEXP_REPLACE在我所有的查询中。

在将它们导入 BigQuery 之前避免解析所有日志并转义所有这些字符的任何想法(如果其中之一是分隔符,这将是危险的)?

最佳答案

旧版 SQL 的公认答案。

对于标准 SQL:

#standardSQL

CREATE TEMPORARY FUNCTION DECODE_URI_COMPONENT(path STRING)
RETURNS STRING
LANGUAGE js AS """
if (path == null) return null;
try {
return decodeURIComponent(path);
} catch (e) {
return path;
}
""";

WITH source AS (SELECT "/work.json?myfield=R%C3%A9gions%2CSport" AS path)
SELECT DECODE_URI_COMPONENT(REGEXP_EXTRACT(path, r"[?&]myfield=([^&]+)")) AS myfield FROM source

返回:

 myfield
---------------
Régions,Sport

关于google-bigquery - 在 BigQuery 中使用 url 编码值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14368199/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com