簡體   English   中英

如何將Spark Streaming與Tensorflow集成?

[英]How to integrate Spark Streaming with Tensorflow?

目標:持續將嗅探到的網絡程序包饋入Kafka Producer,並將其連接到Spark Streaming以能夠處理程序包數據,然后,使用Tensorflow或Keras中的預處理數據。

我正在使用來自Kafka的Spark Streaming(PySpark)處理連續數據,現在我想將處理后的數據發送到Tensorflow。 如何使用Python在Tensorflow中使用這些轉換的DStream? 謝謝。

目前在Spark Streaming中未應用任何處理,但稍后會添加。 這是py代碼:

import sys
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
from pyspark.streaming.kafka import KafkaUtils
from pyspark.conf import SparkConf
from datetime import datetime

if __name__ == '__main__':
    sc = SparkContext(appName='Kafkas')
    ssc = StreamingContext(sc, 2)
    brokers, topic = sys.argv[1:]
    kvs = KafkaUtils.createDirectStream(ssc, [topic], 
                                       {'metadata.broker.list': brokers})
    lines = kvs.map(lambda x: x[1])
    lines.pprint()
    ssc.start()
    ssc.awaitTermination()

我也用它來啟動火花流:

spark-submit --packages org.apache.spark:spark-streaming-kafka-0–8_2.11:2.0.0 
spark-kafka.py localhost:9092 topic

您有兩種方法可以解決問題:

  1. 處理完數據后,您可以保存它們,然后獨立運行模型(在Keras中)。 只需創建一個實木復合地板文件/如果已經存在,則追加到該文件:

     if os.path.isdir(DATA_TREATED_PATH): data.write.mode('append').parquet(DATA_TREATED) else: data.write.parquet(DATA_TREATED_PATH) 

然后,您僅使用keras / tensorflow創建模型,並可能像每小時一樣運行它? 或您想要更新的時間。 因此,這是從頭開始的。

  1. 您可以處理數據,像以前一樣保存它們,但是此后,您可以加載模型,訓練新數據/新批次,然后保存模型。 之所以稱為在線學習,是因為您不必從頭開始運行模型。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM