大数据-玩转数据-Spark Streaming 数据输出(python版)
外部系统需要使用Spark Streaming处理后的数据,这些数据在输出可以存储到文本文件或关系数据库中
1、输出到文本文件中
把DStream输出到文本文件,可直接调用saveAsTextFile()方法,下面是词频统计存储到文本文件的代码实现。
数据终端执行nc
[root@hadoop1 temp]# nc -lk 9999
hadoop
spark
hadoop
hadoop
hive
kafka
流计算终端
[root@hadoop1 temp]# vi sparkstreamwordcontsave.py
#!/usr/bin/svn python3
from __future__ import print_function
import sys
from pyspark import SparkContext
from pyspark.streaming import StreamingContext
if __name__ == "__main__":
if len(sys.argv) != 3:
print("Usage :please input **.py <hostname> <port>")
exit(-1)
sc = SparkContext(appName = "sparkstreamingstatefulwordcount")
ssc = StreamingContext(sc,1)
ssc.checkpoint("file:///home/hadoop/temp/streaming/checkpoint")
#为了防止数据丢失,引入checkpoint
initialStateRDD = sc.parallelize([(u'hello',1),(u'world',1)])
def updateFunc(new_values,last_sum)