Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google bigquery 在BigQuery中使用url编码的值_Google Bigquery - Fatal编程技术网

Google bigquery 在BigQuery中使用url编码的值

Google bigquery 在BigQuery中使用url编码的值,google-bigquery,Google Bigquery,我使用包含url编码列的gzip日志文件。(空格字符编码为“%20”等) 我的计划是将这些文件直接从Google云存储导入BigQuery 我在中找不到在导入期间自动解码值的选项 我想你不会在我所有的查询中使用一系列的建议 在将这些字符导入BigQuery(如果其中一个是分隔符,这将是危险的)之前,有什么办法可以避免解析所有日志并转义所有这些字符吗?最有可能的结果是:o) 对于旧版SQL,接受的答案 对于标准SQL: #standardSQL CREATE TEMPORARY FUNCTION

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

我的计划是将这些文件直接从Google云存储导入BigQuery

我在中找不到在导入期间自动解码值的选项

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


在将这些字符导入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