小编Sil*_*ina的帖子

BigQuery错误:无法查询重复字段的交叉积

我正在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的叉积.

这个答案意味着这应该是可能的:有没有办法在表中选择嵌套记录?

是否找到了解决问题的方法?

google-analytics google-bigquery

5
推荐指数
1
解决办法
7275
查看次数

如何自动生成一个函数来匹配一个带有隐式实例的密封案例类族?

我有一个密封的案例类家族,它指定了一些规则,这些规则是从外部源反序列化的.我还有一个类型类,有几个实例来执行实际逻辑,如下所示:

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)

functional-programming scala shapeless

5
推荐指数
1
解决办法
133
查看次数

Google BigQuery优化策略

我正在使用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"一书还提到了调整查询功能,即:

  • GROUP BY子句生成大量不同的组(已经这样做了)
  • 聚合函数需要内存与输入值的数量成比例(可能不适用)
  • 连接操作产生比输入更多的输出(似乎不适用)

另一种选择是将此查询拆分为其组成子查询,但此时我无法选择此策略.

我还可以做些什么来优化此查询?

google-analytics google-bigquery

2
推荐指数
1
解决办法
2408
查看次数