python - 使用 pyspark 的 Spark RDD 的替代方法
问题描述
并且需要使用下面的 spark RDD 脚本检查 ID 和名称
data = spark.read.csv("DATA Present in Screenshot")
final_data = spark.createDataFrame([("","","")],["name","ID","Division"])
for id_name in data.select('ID','Name').distinct().collect():
if str(id_name).split("'")[1] == str(id_name).split("'")[-2]:
a= str(id_name).split("'")[1]
b=""
else:
a= str(id_name).split("'")[1]
b= str(id_name).split("'")[-2]
l = ['div1', 'div2','div3','div4','div5','div6']
rdd = sc.parallelize(l)
people = rdd.map(lambda x: Row(Division=x,ID=a,name=b))
df_data = sqlContext.createDataFrame(people)
final_data =final_data.union(df_data)
该脚本在小数据集中运行良好,但对于大数据集,它显示以下错误。
message: "Total size of serialized results of 22527 tasks (1921.1 MB) is bigger than spark.driver.maxResultSize (1920.0 MB)"
修改脚本时有什么方法可以解决此错误。
解决方案
推荐阅读
- reactjs - 如何更新 App.js React 中多次调用的组件?
- swift - Swift 和 macOS:如何将我的应用程序“绑定”到另一个应用程序?
- c++ - 我正在使用 gtest 和 gmock 框架进行单元测试,我需要帮助来存根/模拟类函数内部使用的外部 C 函数
- jenkins - 任务列表的詹金斯任务插件空下拉列表
- java - 试图让一个java程序连接到Mac上的本地Mysql数据库
- apollo - 微服务之间的关系应该如何架构
- c++ - Box2d Player在使用枚举时不断跳跃
- docker - 如何访问 Docker for Windows 上的命名或匿名 Docker 卷?
- regex - Freepascal 中的正则表达式 - 无法识别的修饰符:Pos 15
- python - Python正则表达式数字转换成字符串