我有一个页面URL列的组成部分由/
分隔。我尝试在BigQuery中运行SPLIT()
函数,但它只提供第一个值。我想要特定列中的所有值。BigQuery:SPLIT()只返回一个值
我不明白如何使用Split string into multiple columns with bigquery中提到的Regexp_extract()
示例。
我需要类似于REGEX_SPLIT_TO_TABLE(<String>, <DELIMITER>)
这将一个字符串转换为多个列。
查询:
SELECT PK,
DATE(TIMESTAMP(CONCAT(SUBSTR(date,1,4),'-',SUBSTR(date,5,2),'-',SUBSTR(date,7,2),' 00:00:00'))) as visit_date,
hits_page_pagePath,
split(hits_page_pagePath,'/')
FROM [Intent.All2mon] limit 100
数据是什么样的? – 2014-11-21 12:20:22
嗨Felipe,你能帮我理解如何准备正则表达式来提取'/'符号中每个实体的信息吗? – 2014-11-21 14:10:41
您无法在BigQuery中生成可变数量的列,只有恒定数量的列,因此您无法完全按照自己的想法进行操作。如果您可以设置URL组件数量的上限,那么您可以生成很多列,并在特定URL具有较少组件时使它们为NULL。 – sprocket 2014-11-22 19:19:16