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

深圳网站设计知名乐云seo国际网站建设招标

深圳网站设计知名乐云seo,国际网站建设招标,网站网页访问权限,外贸做的亚马逊网站是哪个好1、broadcast广播 在Spark中,broadcast是一种优化技术,它可以将一个只读变量缓存到每个节点上,以便在执行任务时使用。这样可以避免在每个任务中重复传输数据。 2、构建缓存 import org.apache.spark.sql.SparkSession import org.apache.s…

1、broadcast广播

在这里插入图片描述

在Spark中,broadcast是一种优化技术,它可以将一个只读变量缓存到每个节点上,以便在执行任务时使用。这样可以避免在每个任务中重复传输数据。

2、构建缓存

import org.apache.spark.sql.SparkSession
import org.apache.spark.broadcast.Broadcast
import com.alibaba.fastjson.JSONObject// 定义全局缓存单例对象
object GlobalCache extends Serializable {// 广播变量,用于存储缓存数据private var cacheData: Broadcast[collection.mutable.Map[String, JSONObject]] = _// 设置 SparkSession 和广播变量def setSparkSession(spark: SparkSession): Unit = {cacheData = spark.sparkContext.broadcast(collection.mutable.Map.empty[String, JSONObject])}// 按订单ID和用户ID缓存JSONObject对象def cacheJSONObject(orderId: String, userId: String, jsonObject: JSONObject): Unit = {// 获取广播变量的值并进行修改val data = cacheData.valuedata.synchronized {data.put(generateKey(orderId, userId), jsonObject)}}// 根据订单ID和用户ID删除缓存的JSONObject对象def removeJSONObject(orderId: String, userId: String): Unit = {// 获取广播变量的值并进行修改val data = cacheData.valuedata.synchronized {data.remove(generateKey(orderId, userId))}}// 根据订单ID和用户ID获取缓存的JSONObject对象def getJSONObjet(orderId: String, userId: String): JSONObject = {// 获取广播变量的值并进行访问val data = cacheData.valuedata.synchronized {data.get(generateKey(orderId, userId)).orNull}}// 生成缓存键,使用订单ID和用户ID拼接private def generateKey(orderId: String, userId: String): String = s"$orderId|$userId"
}

3、缓存测试

import org.apache.spark.sql.SparkSession
import org.apache.spark.broadcast.Broadcast
import com.alibaba.fastjson.JSONObject
import org.apache.log4j.{Level, Logger}object CacheTest {Logger.getLogger("org").setLevel(Level.ERROR)Logger.getRootLogger().setLevel(Level.ERROR) // 设置日志级别def addItem(orderId:String, userId:String, name:String): Unit = {val jsonObject = new JSONObject()jsonObject.put("name", name)// 缓存JSONObject对象GlobalCache.cacheJSONObject(orderId, userId, jsonObject)}def getCache(orderId: String, userId: String): JSONObject = {// 获取缓存的JSONObject对象GlobalCache.getJSONObjet(orderId, userId)}def delItem(orderId:String, userId:String): Unit = {// 删除缓存的JSONObject对象GlobalCache.removeJSONObject(orderId, userId)}def getSparkSession(appName: String, localType: Int): SparkSession = {val builder: SparkSession.Builder = SparkSession.builder().appName(appName)if (localType == 1) {builder.master("local[8]") // 本地模式,启用8个核心}val spark = builder.getOrCreate() // 获取或创建一个新的SparkSessionspark.sparkContext.setLogLevel("ERROR") // Spark设置日志级别spark}def main(args: Array[String]): Unit = {println("Start CacheTest")val spark: SparkSession = getSparkSession("CacheTest", 1)GlobalCache.setSparkSession(spark)  // 构造全局缓存addItem("001", "456", "苹果")      // 添加元素addItem("002", "789", "香蕉")      // 添加元素var cachedObject = getCache("001", "456")println(s"Cached Object: $cachedObject")delItem("001", "456")      // 删除元素cachedObject = getCache("001", "456")println(s"Cached Object: $cachedObject")spark.stop()}
}

4、控制台输出

Start CacheTest
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Cached Object: {"name":"苹果"}
Cached Object: nullProcess finished with exit code 0
http://www.yayakq.cn/news/925399/

相关文章:

  • 生物做实验的网站百度网页版首页
  • 专做教育网站拿站万网域名免费注册
  • 个人建设什么网站网站开发技术参考文献
  • seo网站结构优化外贸网站如何做免费推广
  • 电子商务网站建设考试重点dede门户网站模板下载
  • 官方网站建设的方法有哪些方面wap网站制作模板
  • 抄袭的网站大连模板网站制作哪家专业
  • 网站开发合同管辖权异议做网站包含的技术
  • 医院招聘网站建设和维护人员2023年舆情分析报告
  • 做网站首页的表格的代码做视频的网站带模板下载
  • 自己的网站统计输入词装修公司营销型网站建设
  • 涿州市查建设局网站咸阳网站建设价格
  • 郑州网站建设 新浪博客灰色行业关键词优化
  • 包头网站建设平台广和淘宝做网站费用
  • 马鞍山集团网站建设芜湖市建设办网站
  • 最新网站开发价格wordpress会员积分邀请
  • 做阿里渠道的销售要有哪些网站制作图片文字
  • 网站绑定微信号怎么做一个网站
  • 网站制作公司徐州下载电商平台app
  • 网站开发前期调研免费建立网站的网站吗
  • 杭州网站建设icp备wordpress默认logo图片路径
  • 龙岗区布吉街道防控措施网站建设优化过程中的优化策略
  • 波莱网站开发WordPress考试
  • 网站下载视频的方法做网站就必须要开公司吗
  • 网站开发实战项目网页界面设计基础知识
  • 东莞容桂网站制作泰安人才网求职
  • 网站建设ui设计公司刚刚发生在昆明的大事
  • 广州网站设计服务商会员管理系统免费版
  • 网站开发维护任职要求html5做简单网站
  • 黄山建设网站公司用手机怎么制作动漫视频