首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将批处理数据与存储在BigTable中的数据连接

将批处理数据与存储在BigTable中的数据连接
EN

Stack Overflow用户
提问于 2019-03-25 12:38:15
回答 2查看 391关注 0票数 3

我在GCS中有越来越多的数据,并且将有一个批处理作业,比如说每天处理100万篇文章的增量。我需要从BigTable获得更多的密钥信息(包含数十亿条记录)。只对地图操作中的每一项进行查找是否可行?对这些查找进行批量处理并执行类似于批量读取之类的操作是否有意义?或者使用scio/beam来使用这个用例的最佳方法是什么?

我在模式:流模式大查找表中发现,对每个请求执行查找是推荐的流方法,但我不确定是否会通过批处理作业重载BigTable。

你们对如何处理这个用例有什么全面或具体的建议吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-25 16:11:52

我以前曾帮助过其他人,但在基本数据库/ Beam中。为了获得最佳的性能,您需要将键按批聚合。每批25到100把钥匙是有道理的。如果您可以对列表进行预排序,以便您的查找更有可能在每个请求中访问较少的节点。

您可以直接使用Cloud客户机,只需确保使用"use“设置,或者有一个单例来缓存客户机。

这肯定会对Cloud集群产生影响,但我无法告诉您有多少。您可能需要增加集群的大小,这样云Bigtable的其他用途就不会受到影响。

票数 3
EN

Stack Overflow用户

发布于 2019-04-09 14:40:04

我们在Scio有一个助手BigtableDoFn。它不会对DoFn中的异步请求处理进行批处理,但至少会将其抽象掉,这样processElement/map函数就不会被网络往返所阻塞。

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

https://stackoverflow.com/questions/55337980

复制
相关文章

相似问题

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