Apache spark 使用WebSocket从服务器流式处理事件
我希望使用服务器的web套接字流式处理事件,该服务器的地址以: wss://example.de/Outbound/OutboundInterface 我正在寻找使用ApacheSpark、ApacheFlink等技术从服务器流式传输事件的选项 我不确定如何将这些事件流到我的大学后端项目中Apache spark 使用WebSocket从服务器流式处理事件,apache-spark,websocket,spark-streaming,apache-flink,flink-streaming,Apache Spark,Websocket,Spark Streaming,Apache Flink,Flink Streaming,我希望使用服务器的web套接字流式处理事件,该服务器的地址以: wss://example.de/Outbound/OutboundInterface 我正在寻找使用ApacheSpark、ApacheFlink等技术从服务器流式传输事件的选项 我不确定如何将这些事件流到我的大学后端项目中 任何指针都将有助于指示如何处理问题陈述。一种方法是编写一个小包装器,在websocket接口和标准TCP套接字(Apache Spark和Apache Flink都支持)之间架起桥梁。下面是一个python示
任何指针都将有助于指示如何处理问题陈述。一种方法是编写一个小包装器,在websocket接口和标准TCP套接字(Apache Spark和Apache Flink都支持)之间架起桥梁。下面是一个python示例,它连接到wikipedia websocket服务并打印编辑流:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# sudo pip install socketIO_client==0.5.6
# ./simple.py 2> /dev/null | nc -lk 9999
import socketIO_client
import json
class WikiNamespace(socketIO_client.BaseNamespace):
def on_change(self, change):
print(json.dumps(change))
def on_connect(self):
self.emit('subscribe', 'en.wikipedia.org')
socketIO = socketIO_client.SocketIO('stream.wikimedia.org', 80)
socketIO.define(WikiNamespace, '/rc')
while True:
socketIO.wait(10)
然后,您可以通过nc将其转换为Flink,etal可以连接到的套接字(在这里,我将错误重定向到/dev/null——您可以将它们放在一个文件中):
这个问题看起来非常相似
./simple.py 2> /dev/null | nc -lk 9999