Apache pulsar通过分层存储减载器提供了一个非常有趣的架构。
我想知道如何从另一个应用程序进行交互式查询?我的意思是直接查询键值系统/“数据库”,而不是使用pulsar-sql,后者在底层使用Presto。
在@sijieg中,在twitter上,has posted以下模式:

看起来我可以访问State-store (甚至是Segment-reader)并直接访问博彩公司中的数据(根据Metastore ?)我们如何访问这些状态存储/段阅读器并访问数据,就像Flink-Pulsar或Spark-Pulsar一样。
发布于 2020-04-12 03:08:45
一个简单的回答是“你不能直接查询Apache Pulsar”。但让我们更深入地了解一下。
Apache Pulsar不是RDBMS,在RDBMS中,SQL查询是处理数据的主要方式。如果您的系统需要SQL查询,并且负载不是很高,那么只需使用传统的关系型数据库或您选择的NoSQL即可。
为什么向Apache Pulsar查询会很困难?主要原因是Apache Pulsar是一个分布式的发布-订阅消息传递系统,其中的数据被视为无限的流,这使得它很难以高性能的方式运行传统的SQL查询。在这种情况下,解决方案是蒸汽处理引擎(Pulsar Functions、Apache Flink、Apache Spark),可以在其中选择、转换和写入数据。
如果您仍然需要对存储在Pulsar中的某些数据运行查询,则可以使用built-in sink connectors将这些信息转发到关系型数据库或NoSQL数据库。
对于分析,使用pulsar-sql直接与存储层(博彩公司)通信就足够了。
发布于 2020-05-08 00:08:21
我不知道您为什么反对使用pulsar-sql,它使用Presto。这是对存储在BookKeeper存储层中的数据执行基于SQL的复杂查询的首选方法(包括在bookie磁盘和分层存储中)。Presto解析SQL并生成AST和查询计划来返回数据,因此它确实在这方面提供了很多价值。
但是,如果您对直接访问BK上的数据感兴趣,那么您可以使用较旧的DLog API。或者是嵌入在博彩公司中的新table (key/value) service。
https://stackoverflow.com/questions/61067488
复制相似问题