繁体   English   中英

使用火花流从数据库中读取流

[英]Stream reading from database using spark streaming

我想使用spark streaming来读取来自RDBMS数据库的数据,比如mysql。

但我不知道如何使用JavaStreamingContext来做到这一点

 JavaStreamingContext jssc = new JavaStreamingContext(conf, Durations.milliseconds(500));
DataFrame df = jssc. ??

我在互联网上搜索,但我没有找到任何东西

先感谢您。

如果不安装某些第三方软件,你就无法做到这一点。
你可以做的是创建一个个性化的接收器,它可以完成你想要的,使用SparkSQL包和Streaming组合。
实现扩展Receiver的类,并在内部执行从数据库中提取数据所需的所有连接和查询。
我现在在工作,所以我会给你一个链接,看看而不是产生代码,抱歉:
http://spark.apache.org/docs/latest/streaming-custom-receivers.html
https://medium.com/@anicolaspp/spark-custom-streaming-sources-e7d52da72e80

最好的可靠解决方案是避免使用MySqL。 当您将记录插入MySQl时,通过事务将它们也放入Kafka(Kafka生产者),然后在流应用程序中使用它们。

我认为不可能从MySql流式传输。 数据可以从许多来源摄取,如Kafka,Flume,Twitter,ZeroMQ,Kinesis或TCP套接字。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM