Google bigquery 在BigQuery中使用url编码的值
我使用包含url编码列的gzip日志文件。(空格字符编码为“%20”等) 我的计划是将这些文件直接从Google云存储导入BigQuery 我在中找不到在导入期间自动解码值的选项 我想你不会在我所有的查询中使用一系列的建议Google bigquery 在BigQuery中使用url编码的值,google-bigquery,Google Bigquery,我使用包含url编码列的gzip日志文件。(空格字符编码为“%20”等) 我的计划是将这些文件直接从Google云存储导入BigQuery 我在中找不到在导入期间自动解码值的选项 我想你不会在我所有的查询中使用一系列的建议 在将这些字符导入BigQuery(如果其中一个是分隔符,这将是危险的)之前,有什么办法可以避免解析所有日志并转义所有这些字符吗?最有可能的结果是:o) 对于旧版SQL,接受的答案 对于标准SQL: #standardSQL CREATE TEMPORARY FUNCTION
在将这些字符导入BigQuery(如果其中一个是分隔符,这将是危险的)之前,有什么办法可以避免解析所有日志并转义所有这些字符吗?最有可能的结果是:o)
对于旧版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
根据,这在bigquery中现在不可用。根据bigquery开发人员的要求,我们已经启动了一个公共问题跟踪程序来收集功能请求,并允许一个地方报告bug。我们有这个要求作为我们的第一个功能要求:“明星”的问题投赞成票。
myfield
---------------
Régions,Sport