前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >流数据_数据回流是什么意思

流数据_数据回流是什么意思

作者头像
全栈程序员站长
发布2022-09-20 11:00:54
1.2K0
发布2022-09-20 11:00:54
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

————恢复内容开始————

特征:

持续到达,数据量大,注重数据整体价值,数据顺序可能颠倒,丢失,实时计算,

海量,分布,实时,快速部署,可靠

linked in Kafka

spark streaming:微小批处理,模拟流计算,秒级响应

DStream 一系列RDD 的集合

支持批处理

流数据_数据回流是什么意思
流数据_数据回流是什么意思
流数据_数据回流是什么意思
流数据_数据回流是什么意思
流数据_数据回流是什么意思
流数据_数据回流是什么意思

创建文件流

流数据_数据回流是什么意思
流数据_数据回流是什么意思

10代表每10s启动一次流计算

textFileStream 定义了一个文件流数据源

任务: 寻找并跑demo代码 搭建环境 压力测试 产品

套接字流

流数据_数据回流是什么意思
流数据_数据回流是什么意思

插播: futrue使用(为了兼容老版本python)

https://www.liaoxuefeng.com/wiki/897692888725344/923030465280480

客户端进行刺频统计,并显示结果。

代码语言:javascript
复制
#!/usr/bin/env 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: NetworkWordCount.py <hostname><port>",file=sys.stderr)
        exit(-1)
# this is for two arg plus itself        
    sc=SparkContext(appName="PythonStreamingNetworkWordCount")
    ssc=StreamingContext(sc,1)
    lines=ssc.socketTextStream(sys.argv[1],int(sys.argv[2]))
    counts=lines.flatMap(lambda line:line.split(""))\
            .map(lambda word:(word,1))\
            .reduceByKey(lambda a,b:a+b)
    counts.pprint()
    ssc.start()
    ssc.awaitTermination()

客户端从服务端接收流数据:

代码语言:javascript
复制
# 用客户端向服务端发送流数据 $ /usr/local/spark/bin/spark-submit NetworkWordCount.py localhost <端口>

服务端,发送

(a) 系统自带服务端 nc。

代码语言:javascript
复制
# 打开服务端 $nc -lk <端口号>

#!/usr/bin/env python3 # NetworkWordCount.py

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: NetworkWordCount.py <hostname> <port>”, file=sys.stderr) exit(-1)

sc = SparkContext(appName = “PythonStreamingNetworkWordCount”) ssc = StreamingContext(sc, 1) lines = ssc.socketTextStream(sys.argv[1], int(sys.argv[2]))

counts = lines.flatMap(lambda line: line.split(” “)) \ .map(lambda word: (word, 1))\ .reduceByKey(lambda a,b: a+b)

counts.pprint() ssc.start() ssc.awaitTermination()

import time from pyspark import SparkContext from pyspark.streaming import StreamingContext

sc=SparkContext(appName=”RDDstream”) ssc=StreamingContext(sc,2)

rddQueue = [] for i in range(5): rddQueue += [ssc.sparkContext.parallelize([j for j in range(1,1001)],10)] time.sleep(1)

inputStream = ssc.queueStream(rddQueue) mappedStream = inputStream.map(lambda x:(x%10,1)) reducedStream=mappedStream.reduceByKey(lambda a,b:a+b) reducedStream.pprint() ssc.start() ssc.stop(stopSparkContext=True,stopGraceFully=True)

kafka作为高级数据源

1。安装

先查看spark版本,spark-shell查看

version2。4。4 scala 2。11。12

具体参见课程64 以及

Spark2.1.0+入门:Apache Kafka作为DStream数据源(Python版)

Kafka的安装和简单实例测试

需要安装jar包到spark内

流数据_数据回流是什么意思
流数据_数据回流是什么意思

Dstream(Discreted stream 离散的)无状态转换

https://www.cnblogs.com/jesse123/p/11452388.html

https://www.cnblogs.com/jesse123/p/11460101.html

只统计当前批次,不会去管历史数据

Dstream 有状态转换

流数据_数据回流是什么意思
流数据_数据回流是什么意思

(windowLength,slideInterval)滑动窗口长度,滑动窗口间隔

流数据_数据回流是什么意思
流数据_数据回流是什么意思
流数据_数据回流是什么意思
流数据_数据回流是什么意思

名称一样 但function不一样 逆函数减少计算量

流数据_数据回流是什么意思
流数据_数据回流是什么意思
流数据_数据回流是什么意思
流数据_数据回流是什么意思

新进来的x+y,离开的x-y,当中的数据(几百万条)不动 30 (应该是秒为单位)滑动窗口大小 10秒间隔

有状态转换upstatebykey操作

跨批次之间维护

https://www.cnblogs.com/luotianshuai/p/5206662.html#autoid-0-3-0

这篇blog很详细 kafka相关概念 集群搭建

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/167477.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
流计算 Oceanus
流计算 Oceanus 是大数据产品生态体系的实时化分析利器,是基于 Apache Flink 构建的企业级实时大数据分析平台,具备一站开发、无缝连接、亚秒延时、低廉成本、安全稳定等特点。流计算 Oceanus 以实现企业数据价值最大化为目标,加速企业实时化数字化的建设进程。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档