Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 使用WebSocket从服务器流式处理事件_Apache Spark_Websocket_Spark Streaming_Apache Flink_Flink Streaming - Fatal编程技术网

Apache spark 使用WebSocket从服务器流式处理事件

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示

我希望使用服务器的web套接字流式处理事件,该服务器的地址以:

wss://example.de/Outbound/OutboundInterface

我正在寻找使用ApacheSpark、ApacheFlink等技术从服务器流式传输事件的选项

我不确定如何将这些事件流到我的大学后端项目中


任何指针都将有助于指示如何处理问题陈述。

一种方法是编写一个小包装器,在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