【发布时间】:2020-09-06 12:15:12
【问题描述】:
我是 spark 新手,并试图了解如何处理 spark 中的倾斜数据。我创建了两个表员工和部门。员工歪曲了其中一个部门的数据。
其中一个解决方案是广播部门表,效果很好。但我想了解如何在下面的代码中使用盐渍技术来提高性能。
from pyspark.sql import SparkSession
import pyspark.sql.functions as f
spark = SparkSession.builder.appName("skewTestSpark").config("spark.sql.warehouse.dir",
'/user/hive/warehouse').enableHiveSupport().getOrCreate()
df1 = spark.sql("select * from spark.employee")
df2 = spark.sql("select id as dept_id, name as dept_name from spark.department")
res = df1.join(df2, df1.department==df2.dept_id)
res.write.parquet("hdfs://<host>:<port>/user/result/employee")
【问题讨论】:
标签: apache-spark pyspark skew