当前位置: 首页 > 知识库问答 >
问题:

带有阿帕奇超集的串联河童建筑

富涛
2023-03-14

互联网上有很多关于kappa架构的信息,在经历了一些概念方面之后,我试图深入研究更具体的东西。作为我的主要来源,我使用了这个网站

让我们想象一下你想要实现一个涉及以下技术堆栈的kappa架构

  • Apache Kafka
  • Apache Spark
  • Apache超集

现在想象一下,您要构建的对其进行数据分析的应用程序具有PostgreSQL数据库。当然,您可以轻松地将阿帕奇超集与PostgresSQL数据库直接连接并创建图表。

但是现在你想看看你将如何使用kappa架构来做到这一点,你添加了kafka和Spark。你可以向kafka发送事件,你可以在apache Spark中读取这些事件。正如这个问题的答案中所指出的,kafka将在一定时期内保留topcis的消息。当我在文档中读到关于将超集与Spark连接的信息时,它说hive应该用作连接器(项目网站也声明该工具不受支持,如果你在pyhive上查看这个问题,你会发现impyla可能是一个替代方案)。但是对于存储系统来说,apache hive是一个完全不同的项目。那么这种连接将如何工作呢?假设你有运行的kafka节点(显然是zookeper),也有运行的火花,然后你通过这个带有火花的蜂巢连接器连接apache超集。

您如何针对kafka中的数据(实际上是实时数据)编写查询?

在spark side上,你可以很容易地编写一个scala程序,从kafka读取数据并对其进行处理,但是如何从apache superset中实现这一点呢?

还是这不是连接事物的预期方式?

共有1个答案

邴烨
2023-03-14

如果我理解您的问题,您需要使用Spark结构化流将流SQL表注册到Hive metastore中,这可以从Spark Thiftserver的Superset中查询。

配置单元本身不存储任何数据。Hive还有一个内置的Kafka查询处理程序,所以Spark不是完全必要的。

但是,Hive/Spark并不是唯一的选择。您可以使用Spark给HDFS/S3写信,让Presto从超集中查询它。

或者您可以删除Spark并使用Kafka Connect写入仪表板工具(Tableau是另一个流行的工具)可以支持的任何其他东西——JDBC数据库(即Postgres)、Mongo、Cassandra等。然后您只需刷新面板以运行新查询。

 类似资料:
  • 我想将spring应用程序上下文注入到每个ParDo函数中。

  • Apache Kafka:分布式消息传递系统 Apache Storm:实时消息处理 我们如何在实时数据管道中使用这两种技术来处理事件数据? 在实时数据管道方面,我觉得两者做的工作是一样的。如何在数据管道上同时使用这两种技术?

  • 我正在使用Flink从Apache Pulsar读取数据。我在pulsar中有一个分区主题,有8个分区。在本主题中,我生成了1000条消息,分布在8个分区中。我的笔记本电脑中有8个内核,因此我有8个子任务(默认情况下,并行度=#个内核)。在执行Eclipse中的代码后,我打开了Flink UI,发现一些子任务没有收到任何记录(空闲)。我希望所有8个子任务都能得到利用(我希望每个子任务都映射到我的主

  • 我正在尝试用我的Storm设置实现最大的性能。我正在通过Kafka发送数以万计的消息,这些消息将被Storm拓扑接收。 当我在Storm UI中查看时,我注意到所有消息都流向一个执行器,而不是在所有执行器之间进行负载平衡。(见附件截图)。

  • 我们需要的是直接的API来设置和使用集群消息队列。我们最初的计划是使用Camel在集群JMS或ActiveMQ队列上进行消费/生产。Kafka如何使这项任务变得更容易?在任何一种情况下,应用程序本身都将在WebLogic服务器上运行。 消息传递将是点对点类型,其中有多个相同服务的实例在运行,但根据负载平衡策略,只有一个实例应该处理消息并发出结果。消息队列也是群集的,因此服务实例或队列实例的失败都不

  • 目前我正在研究Apache spark和Apache ignite框架。 这篇文章介绍了它们之间的一些原则差异,但我意识到我仍然不理解它们的目的。 我的意思是,哪一个问题更容易产生火花而不是点燃,反之亦然?