首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用分区键的SnappyData表定义

使用分区键的SnappyData表定义
EN

Stack Overflow用户
提问于 2016-08-26 05:17:57
回答 1查看 114关注 0票数 0

阅读文档(http://snappydatainc.github.io/snappydata/streamingWithSQL/),并对此项目有一个问题:

通过协同分区减少混洗:使用SnappyData,输入队列(例如,用于Kafka源)、流处理器和底层存储使用的分区键都可以是相同的。这大大减少了混洗记录的需要。

如果我们使用Kafka,并使用键(单个值)对主题中的数据进行分区。是否可以将kafka中的单个键映射到snappy表中标识的多个分区键?

是否有某种散列可以将多个键转换为单个键?

减少混洗的好处似乎很明显,并试图理解这里的最佳实践。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-26 23:32:36

使用DirectKafka流,每个分区从自己指定的主题中提取数据。如果没有为存储表指定分区,那么每个DirectKafka分区将只放入本地存储桶中,然后一切都会很好地排列在一起,而不需要任何额外的东西。唯一需要注意的是有足够数量的主题(即分区),以便获得更好的并发性--理想情况下,至少与集群中处理器核心的总数一样多,这样所有核心都会处于繁忙状态。

当显式分区存储表时,SnappyData的存储已经调整为使用与Spark的HashPartitioning相同的散列(对于列和行表的"PARTITION_BY“选项),因为这是在Catalyst SQL执行层使用的。因此,执行和存储始终是并置的。然而,将其与来自DirectKafka分区的摄取对齐将需要一些手动工作(将kafka主题分区与HashPartitioning对齐,然后使每个DirectKafka分区的首选位置与存储相匹配)。将在即将发布的版本中得到简化。

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

https://stackoverflow.com/questions/39154873

复制
相关文章

相似问题

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