我正在Google BigQuery网络界面上运行以下查询,以获取Google Analytics提供的数据:
SELECT *
FROM [dataset.table]
WHERE
??hits.page.pagePath CONTAINS "my-fun-path"
Run Code Online (Sandbox Code Playgroud)
我想将结果保存到新表中,但是当使用Flatten Results = False时,我得到以下错误消息:
错误:无法查询重复字段customDimensions.value和hits.page.pagePath的叉积.
这个答案意味着这应该是可能的:有没有办法在表中选择嵌套记录?
是否找到了解决问题的方法?
我有一个密封的案例类家族,它指定了一些规则,这些规则是从外部源反序列化的.我还有一个类型类,有几个实例来执行实际逻辑,如下所示:
import scala.util.Try
sealed trait ReaderConfig
case class Substring(begin: Int, end: Int) extends ReaderConfig
case class Regex(expr: String) extends ReaderConfig
trait Read[M[_], RC <: ReaderConfig] {
def apply(config: RC, raw: String): M[String]
}
object Read {
implicit val TryReadSubstring: Read[Try, Substring] = (config: Substring, raw: String) => Try {
raw.substring(config.begin, config.end)
}
implicit val TryReadRegex: Read[Try, Regex] = (config: Regex, raw: String) => Try {
config.expr.r.findFirstIn(raw).get
}
trait Helper[RC <: ReaderConfig] {
def as[M[_]](implicit read: Read[M, RC]): M[String]
}
def …Run Code Online (Sandbox Code Playgroud) 我正在使用Google BigQuery查询Google Analytics Premium的数据.目前,我只使用一个查询来计算某些指标(例如总访问次数或转化率).此查询包含几个嵌套的JOIN子句和嵌套的SELECT.在查询一个表时,我收到错误:
Error: Resources exceeded during query execution.
Run Code Online (Sandbox Code Playgroud)
使用GROUP EACH BY和JOIN EACH似乎无法解决此问题.
将来采用的一种解决方案是仅提取此查询所需的相关数据并将其导出到单独的表中(然后将对其进行查询).这个策略原则上是有效的,我已经有了它的工作原型.
但是,我想探索适用于原始表的此查询的其他优化策略.
在本演示文稿中,您可能会为BigQuery支付过多费用,其中一些是建议的,即:
"Google BigQuery Analytics"一书还提到了调整查询功能,即:
另一种选择是将此查询拆分为其组成子查询,但此时我无法选择此策略.
我还可以做些什么来优化此查询?