首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义数据流模板- BigQuery到CloudStorage -文档?一般的解决方案建议?

自定义数据流模板- BigQuery到CloudStorage -文档?一般的解决方案建议?
EN

Stack Overflow用户
提问于 2020-01-02 19:40:47
回答 1查看 124关注 0票数 0

我正在使用一个BigQuery表数据源。它是“无界的”,因为它是通过批处理过程更新的。它包含来自服务器日志的按会话键的报告数据,其中每一行捕获一个请求。我无法访问原始日志数据,必须使用BigQuery表。

我想使用beam api开发一个基于自定义Java的模板,其目标是:

  1. 键控会话对象的排序
  2. 派生会话级别度量
  3. 根据会话度量导出可过滤窗口级别的度量,例如,在前一个窗口中有错误的会话百分比和每个筛选属性的错误百分比,例如,每种设备类型的错误百分比。
  4. 将结果以格式化/压缩报告的形式写入云存储。

这似乎是一个相当标准的用例吗?在我迄今为止的研究中,我还没有找到一个完美的例子,也还没有能够确定某些基本要求的最佳实践方法。我非常感谢你的指点。关键词研究?文件,教程。我目前的想法是正确的,还是需要考虑其他方法?

问题:

  1. 波束窗口和BigQuery I/O连接器-我看到我可以通过beam api指定窗口类型和大小。我的烧烤桌每行都有一个时间戳字段。我应该以某种方式通过配置传递这个信息,还是它应该是自动的?我是否需要通过SQL查询手动完成此操作?对我来说还不清楚。
  2. 固定时间加窗与会话加窗函数-示例是基本的,不处理任何边缘情况。我的疗程可以持续几个小时。每个窗口可能有100 keys加上会话键。会话窗口支持这一点吗?
  3. BigQuery与BigQueryClientStorage之间的区别对我来说还不清楚。我知道BQCS提供了性能上的好处,但是我是否必须在使用BQCS的第一步中存储BQ数据呢?或者我可以直接通过BQCS查询我的表,它会帮我处理这个问题吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-02 21:44:22

对于1号,您可以在应用窗口之前简单地使用withTimestamps函数,这将为您的项目分配时间戳。这里是一些python的例子。

对于编号2文档声明:

会话窗口在按键的基础上应用,对于随时间不定期分布的数据非常有用。..。如果数据在最小指定的间隙持续时间之后到达,这将启动一个新窗口的开始。

同样在java文档中,您只能指定最小间隙持续时间,而不能指定最大间隔时间。这意味着会话窗口可以很容易地支持持续时间的会话。毕竟,它唯一能做的就是在你的数据上加一个水印,并保持它的活力。

对于 3BigQuery IO连接器BigQuery存储API的区别在于后者(01/2020时的一个实验特性)直接访问存储的数据,而不需要通过BigQuery (BigQuery data不存储in BigQuery)的逻辑通道。这意味着对于存储API,文献资料声明:

您不能使用它读取数据源,如联邦表和逻辑视图。

另外,这两个方法之间有不同的限制和配额,您可以在上面的文档链接中找到这些限制和配额。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59569081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档