如何在流式查询中使用外部数据库(postgresql)作为输入?

Posted

技术标签:

【中文标题】如何在流式查询中使用外部数据库(postgresql)作为输入?【英文标题】:How to use external database (postgresql) as input in streaming query? 【发布时间】:2019-11-20 08:35:37 【问题描述】:

我正在尝试在 Postgresql 中实现流式输入更新。 具体来说,我想使用 Postgresql 作为数据源,将流输入到 spark 中。

查看文档,我不确定这是否可能。

https://spark.apache.org/docs/latest/streaming-programming-guide.html

是否可以从 PostgresQL 流式传输输入,也许作为微批处理?

【问题讨论】:

【参考方案1】:

要将您的 PSQL 数据作为微批处理流式传输,Kafka 是最好的方法。您可以使用 Kafka connect(作为源)在您的 Brokers 和您的 Database 之间建立连接。

查看 Kafka 流式传输与 Spark Streaming 的集成: https://spark.apache.org/docs/2.2.0/streaming-kafka-0-10-integration.html

Kafka 连接文档: https://docs.confluent.io/current/connect/index.html

通过这种方式,你可以面对故障、并发和优化你的计算能力。

【讨论】:

以上是关于如何在流式查询中使用外部数据库(postgresql)作为输入?的主要内容,如果未能解决你的问题,请参考以下文章

在节点中创建 REST API 时,如何将来自对外部网站的请求的 http 响应流式传输到原始 api 调用?

Flink:如何在 flink 中处理外部应用配置更改

如何通过烧瓶应用程序流式传输数据?

使用 Node 流式传输大型大查询 SELECT?

Spark:在流式查询中使用事件时间滑动窗口时出现问题

如何使用spring将查询外部化到xml文件