Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.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
Python 将Spark流数据发送回客户端_Python_Python 3.x_Apache Spark_Pyspark_Spark Streaming - Fatal编程技术网

Python 将Spark流数据发送回客户端

Python 将Spark流数据发送回客户端,python,python-3.x,apache-spark,pyspark,spark-streaming,Python,Python 3.x,Apache Spark,Pyspark,Spark Streaming,我是Apache Spark Streaming的新手。我正在开发一个spark流应用程序,以找到最短路径,并将路径再次发送回客户端。我已经编写了获取数据并使用函数进行处理的代码,但我有一个问题,如何将结果再次发送回客户端 这是我的密码: import networkx as nx from pyspark import SparkConf,SparkContext from pyspark.streaming import StreamingContext TCP_IP = "127.0.0.

我是Apache Spark Streaming的新手。我正在开发一个spark流应用程序,以找到最短路径,并将路径再次发送回客户端。我已经编写了获取数据并使用函数进行处理的代码,但我有一个问题,如何将结果再次发送回客户端 这是我的密码:

import networkx as nx
from pyspark import SparkConf,SparkContext
from pyspark.streaming import StreamingContext
TCP_IP = "127.0.0.1"
TCP_PORT = 5000

# Creating a Spark Configuration
conf=SparkConf()
conf.setAppName('ShortestPathApp')

sc= SparkContext(conf)
ssc= StreamingContext(sc,2)

def shortestPath(line):
    # get the values from rdd
    vehicleId = line[0]
    source = line[1]
    destination = line[2]
    deadline = line[3]

    # find shortest path
    shortest = nx.dijkstra_path(G, source, destination)



# receive from Socket
dataStream =ssc.socketTextStream(TCP_IP,TCP_PORT)
vehicle_data = dataStream.map(lambda line: line.split(" "))
vehicle_data.foreachRDD(lambda rdd: rdd.foreach(shortestPath))
ssc.start()
ssc.awaitTermination()

如何将数据发送回客户端

使用
StreamingContext
将输出数据作为流推送回目标。您可以按如下方式创建它。 添加方法以获取singleton SparkSession实例

# Lazily instantiated global instance of SparkSession
def getSparkSessionInstance(sparkConf):
    if ("sparkSessionSingletonInstance" not in globals()):
        globals()["sparkSessionSingletonInstance"] = SparkSession \
            .builder \
            .config(conf=sparkConf) \
            .getOrCreate()
    return globals()["sparkSessionSingletonInstance"]


使用
StreamingContext
将输出数据作为流推回到目标。您可以按如下方式创建它。 添加方法以获取singleton SparkSession实例

# Lazily instantiated global instance of SparkSession
def getSparkSessionInstance(sparkConf):
    if ("sparkSessionSingletonInstance" not in globals()):
        globals()["sparkSessionSingletonInstance"] = SparkSession \
            .builder \
            .config(conf=sparkConf) \
            .getOrCreate()
    return globals()["sparkSessionSingletonInstance"]


是否要将数据发送回客户端的TCP套接字?是@QuickSilver是否要将数据发送回客户端的TCP套接字?是@QuickSilver