Pyspark:如何从给定的 API Url 流式传输数据

Pyspark: how to streaming Data from a given API Url

我得到了一个 API url 和一个方法 getUserPost(),其中 returns 我的数据处理功能所需的数据。我可以使用来自 suds.client 的客户端获取数据,如下所示:

from suds.client import Client
from suds.xsd.doctor import ImportDoctor, Import

url = 'url'
imp = Import('http://schemas.xmlsoap.org/soap/encoding/')
imp.filter.add('filter')
d = ImportDoctor(imp)
client = Client(url, doctor=d)
tempResult = client.service.getUserPosts(user_ids = '',date_from='2016-07-01 03:19:57', date_to='2016-08-01 03:19:57', limit=100, offset=0)

现在,每个 tempResult 将包含 100 条记录。我想将数据从给定的 API url 流式传输到 RDD 以进行并行处理。但是,在阅读 pySpark.Streaming documentation 后,我找不到自定义数据源的流方法。谁能给我一个理想的方法吗?

谢谢。

经过一段时间的挖掘,我找到了解决问题的方法。我使用了Kafka Streaming。基本上你需要从给定的 API 创建一个生产者,指定主题和通信端口。然后消费者收听该特定主题和端口以开始流式传输数据。

请注意,生产者和消费者必须作为不同的线程工作才能存档实时流。