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

智能建站与正常的网站百度快照优化

智能建站与正常的网站,百度快照优化,网站的中英文翻译是怎么做的,太原市住房和城乡建设局网站首页使用PySpark解决数据倾斜问题的完整案例,通过广播表连接的方式来优化性能。 准备数据 假设我们有两张表,一张大表 big_table 和一张小表 small_table ,小表将作为广播表。 from pyspark.sql import SparkSession# 初始化SparkSession spar…

使用PySpark解决数据倾斜问题的完整案例,通过广播表连接的方式来优化性能。

  1. 准备数据

假设我们有两张表,一张大表 big_table 和一张小表 small_table ,小表将作为广播表。

from pyspark.sql import SparkSession# 初始化SparkSession
spark = SparkSession.builder.appName("Data Skew Example").getOrCreate()# 模拟大表数据
big_table = spark.createDataFrame([(i, f"value_{i}") for i in range(1000000)], ["id", "data"])# 模拟小表数据
small_table = spark.createDataFrame([(i, f"category_{i%10}") for i in range(100)], ["id", "category"])
  1. 查看广播表大小
import sys
from pyspark.sql.functions import col# 查看小表的大小,单位字节
small_table_size = small_table.select(col("*")).count() * sys.getsizeof(tuple(small_table.first()))
print(f"Size of small_table: {small_table_size} bytes")
  1. 初始连接(产生数据倾斜)
# 不使用广播进行连接,会产生数据倾斜joined_without_broadcast = big_table.join(small_table, "id")
  1. 使用广播表连接
from pyspark.sql.functions import broadcast# 使用广播表连接
joined_with_broadcast = big_table.join(broadcast(small_table), "id")
  1. 查看Spark WebUI分析数据倾斜

运行作业:在执行上述代码时,Spark会启动作业,可以通过Spark WebUI查看作业执行情况。在浏览器中访问 http://:4040 (这是Spark默认的WebUI端口,实际可能不同)。
查看阶段详情:进入“Jobs”页面,找到对应的作业,点击进入查看各阶段(Stage)详情。在阶段详情里,可以看到任务(Task)的执行时间分布。没有广播时,数据倾斜表现为部分任务执行时间远长于其他任务;使用广播后,任务执行时间应更均匀。
查看执行计划:也可以通过调用 joined_with_broadcast.explain() 查看执行计划,确认广播表是否正确应用。

# 查看执行计划
joined_with_broadcast.explain()
  1. 完整代码示例
from pyspark.sql import SparkSession
import sys
from pyspark.sql.functions import col, broadcast# 初始化SparkSession
spark = SparkSession.builder.appName("Data Skew Example").getOrCreate()# 模拟大表数据
big_table = spark.createDataFrame([(i, f"value_{i}") for i in range(1000000)], ["id", "data"])# 模拟小表数据
small_table = spark.createDataFrame([(i, f"category_{i%10}") for i in range(100)], ["id", "category"])# 查看小表的大小,单位字节
small_table_size = small_table.select(col("*")).count() * sys.getsizeof(tuple(small_table.first()))
print(f"Size of small_table: {small_table_size} bytes")# 不使用广播进行连接,会产生数据倾斜
joined_without_broadcast = big_table.join(small_table, "id")# 使用广播表连接
joined_with_broadcast = big_table.join(broadcast(small_table), "id")# 查看执行计划
joined_with_broadcast.explain()

这个案例先创建了大小两张表,查看小表大小以确认适合广播,演示了普通连接产生数据倾斜的情况,接着使用广播表连接解决该问题,并说明了如何从Spark WebUI查看数据倾斜的发生与解决效果。

http://www.yidumall.com/news/85398.html

相关文章:

  • 烟台H5高端网站建设中国公关公司前十名
  • 武威住房和城乡建设厅网站b站免费推广app大全
  • 东莞网站推广团队电脑优化大师下载安装
  • 怎么区别网站开发语言广告投放公司
  • 外贸网站seo优化方案深圳网站设计公司
  • 手机怎么制作网站教程网络营销服务公司
  • 摄影网页面制作优化大师电脑版官方
  • 石家庄营销网站建设价格重庆森林经典台词截图
  • 一般网站怎么做推广seo培训一对一
  • 建设厅网站不能刷身份证实名制百度seo公司电话
  • 电商运营的基本内容seo免费优化公司推荐
  • 做一电影网站怎么赚钱吗云南疫情最新数据消息中高风险地区
  • 济南建站服务商查看别人网站的访问量
  • 做新闻网站犯法吗市场调研分析报告范文
  • 网站建设对产品推销作用大吗企业推广哪个平台好
  • 如何设计网站后台今日新闻十大头条内容
  • vs2019可以做网站吗衡阳网站优化公司
  • 柬埔寨网站建设软文时光发稿平台
  • 关于网站seo优化百度竞价登录
  • 有一个网站 人物模型可以做各种动作百度推广广告公司
  • wordpress悬浮搜索网站优化种类
  • 做静态网站用什么软件seo搜索优化公司报价
  • 做cad室内平面图的家具素材网站绍兴seo网站管理
  • 某企业网站的设计与实现semantic ui
  • 医院网站建设利法拉网络百度客户端电脑版下载
  • 网站开发资源万能bt搜索引擎
  • 自己建一个影视网站要怎么做怎么制作网页
  • 人力资源和社会保障部财政部安卓aso优化排名
  • 手机实用网站查权重
  • 阿里云做视频网站可以吗新闻 近期大事件