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

制作网站的平台wordpress点击图片

制作网站的平台,wordpress点击图片,重庆公司办社保需要什么资料,开发定制网站公司使用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.yayakq.cn/news/392743/

相关文章:

  • 手机o2o网站建设通栏网站
  • 网站可以不备案手机app推荐
  • 企业加盟网站建设网络销售员每天做什么
  • 网站服务器租用一年多少钱啊服务好的岑溪网站开发
  • 查建筑公司资质的网站99作文网
  • 旅游景区网站建设规划网站运营及推广
  • 企业在公司做的网站看不到微博推广运营
  • php的网站怎么做的龙岗公司的网站制作
  • 邮件表头图片网站谁在万网建设的网站
  • 网站模板怎么修改网站优化推广外包
  • 建设银行跨行转账网站软件开发的生命周期
  • 百度网站提交入口百度如何将qq音乐链接到wordpress
  • 网站建设分析报告wordpress建站产品导入不同目录
  • 协会网站改版建议上海市网站建
  • 中国空间站模型没有营业执照可以做网站吗
  • 云浮网站网站建设代运营公司收费
  • 中国建设执业网站wordpress app内
  • 怎样在手机做自己的网站6vue登录页面模板
  • 网站结构形式交通建设工程质量监督局网站
  • 杭州网站建设 企业适合一个人开的实体店
  • 手机网站支付签约石家庄企业制作网站
  • 佛山英文网站建设做免费小说网站怎样赚钱
  • 佛山网站专家百度超级链
  • 南京酒店网站制作学习做网站需要多久
  • 网站登录密码忘记了营销型网站页面布局
  • 建网站空间购买东营企业网站排名
  • 外贸soho先做网站免费建站并且绑定域名
  • 网站建设公司选择标准招远建网站首选公司
  • 青岛市住房和城乡建设局网站微信小程序源代码模板
  • 做同城网站长春公司做网站找哪个公司好