当前位置: 首页 > wzjs >正文

做企业网站用drupal7百度电商广告代运营

做企业网站用drupal7,百度电商广告代运营,房地产公司排名,学做烤制食品的网站有状态转化操作 - UpdateStateByKey ‌功能描述‌ UpdateStateByKey原语用于在DStream中跨批次维护状态,例如流计算中的累加wordcount。 它允许对一个状态变量进行访问和更新,适用于键值对形式的DStream。 ‌工作原理‌ 给定一个由(键,事…

有状态转化操作 - UpdateStateByKey

功能描述

UpdateStateByKey原语用于在DStream中跨批次维护状态,例如流计算中的累加wordcount

它允许对一个状态变量进行访问和更新,适用于键值对形式的DStream

工作原理

给定一个由(键,事件)对构成的DStream,并传递一个指定如何根据新的事件更新每个键对应状态的函数。

构建出一个新的DStream,其内部数据为(键,状态)对。

使用步骤

定义状态:状态可以是一个任意的数据类型。

定义状态更新函数:使用此函数阐明如何使用之前的状态和来自输入流的新值对状态进行更新。

配置检查点目录:updateStateByKey需要使用检查点来保存状态。

示例代码

scalaCopy Code

val updateFunc = (values: Seq[Int], state: Option[Int]) => {

val currentCount = values.foldLeft(0)(_ + _)

val previousCount = state.getOrElse(0)

Some(currentCount + previousCount)

}

val sparkConf = new SparkConf().setMaster("local[*]").setAppName("update")

val ssc = new StreamingContext(sparkConf, Seconds(5))

ssc.checkpoint("./ck")

val lines = ssc.socketTextStream("node01", 9999)

val words = lines.flatMap(_.split(" "))

val pairs = words.map((_, 1))

val stateDStream = pairs.updateStateByKeyInt](updateFunc)

stateDStream.print()

ssc.start()

ssc.awaitTermination()

窗口操作 - Window Operations

功能描述

窗口操作允许设置窗口的大小和滑动窗口的间隔,以动态地获取当前Streaming的状态。

参数说明

窗口时长:计算内容的时间范围。

滑动步长:触发计算的间隔。

这两者都必须为采集周期大小的整数倍。

示例代码

scalaCopy Code

val sparkConf = new SparkConf().setMaster("local[*]").setAppName("window")

val ssc = new StreamingContext(sparkConf, Seconds(3))

ssc.checkpoint("./ck")

val lines = ssc.socketTextStream("node01", 9999)

val words = lines.flatMap(_.split(" "))

val pairs = words.map((_, 1))

val wordCounts = pairs.reduceByKeyAndWindow((a: Int, b: Int) => (a + b), Seconds(12), Seconds(6))

wordCounts.print()

ssc.start()

ssc.awaitTermination()

DStream输出操作

输出操作的重要性

输出操作指定了对流数据经转化操作得到的数据所要执行的操作。

RDD中的惰性求值类似,如果没有执行输出操作,DStream将不会被求值。

常见的输出操作

print():在驱动结点上打印DStream中每一批次数据的最开始10个元素,用于开发和调试。

saveAsTextFiles(prefix, [suffix]):以text文件形式存储DStream的内容。

saveAsObjectFiles(prefix, [suffix]):以Java对象序列化的方式存储数据。

saveAsHadoopFiles(prefix, [suffix]):将数据保存为Hadoop文件。

foreachRDD(func):最通用的输出操作,对DStream中的每个RDD运行任意计算。可以将数据推送到外部系统,如MySQL数据库。

使用注意事项

连接操作不能写在driver层面(序列化问题)。

避免在foreach中对每个RDD中的每条数据都创建连接,效率较低。

可以使用foreachPartition在分区层面创建连接。

http://www.dtcms.com/wzjs/65678.html

相关文章:

  • 网站logo织梦怎么做长沙百度推广公司电话
  • 怎么被百度收录seo如何优化图片
  • 做外贸一般在什么网站好seo外链网
  • 深圳龙岗个人网站建设深圳优化seo
  • 做企业培训的网站成都门户网站建设
  • 三网合一网站开发是什么seo软文代写
  • 网站群建设接入指南怎么做网络营销推广
  • 软件开发案例展示泰安seo网络公司
  • 做网站标题头像网店推广
  • 领地免费网站开发想要网站推广页
  • 一起做网站可以一件代发吗线上推广的方式
  • 深圳信用网官网运营seo是什么意思
  • 怎么做网站的动效南宁百度关键词优化
  • 国家和住房城乡建设部网站首页医院线上预约
  • 建网站网站建设阿里云万网域名查询
  • 渗透网站后台数据截图近期热点新闻事件50个
  • 网站建设 排行国际军事新闻最新消息今天
  • 海淀深圳网站建设公司价格百度排名怎么做
  • 所有做运动的网站培训seo哪家学校好
  • 五金日杂店做网站网络推广都有哪些方式
  • 创业做软件还是做网站交换友情链接的渠道
  • b2b信息平台黑帽seo培训多少钱
  • wordpress建站阿里云免费网页设计制作网站
  • 教育网站建设的必要性google adsense
  • 一个公司可以做2个网站么关键词云图
  • 网页做好怎么变成网站山东seo推广
  • 做网站优化的好处市场监督管理局是干什么的
  • 网站建设中的思想和算法seo网站外包公司
  • 开江网站建设佛山网页搜索排名提升
  • 深圳微信网站开发百度seo分析工具