栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Spark不能腌制method_descriptor

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Spark不能腌制method_descriptor

Spark尝试序列化连接对象,以便可以在执行程序中使用,这肯定会失败,因为反序列化的db连接对象无法将读取/写入权限授予其他作用域(甚至计算机)。通过尝试广播连接对象可以重现该问题。对于这种情况,在序列化I
/ O对象时存在问题。

通过连接到map函数内部的数据库,部分解决了该问题。由于map函数中每个RDD元素的连接过多,因此我不得不切换到分区处理以将db连接从20k减少到大约8-64(基于分区的数量)。Spark开发人员应考虑为执行程序创建初始化函数/脚本,以避免出现此类死胡同问题。

假设我让每个节点都执行了此init函数,然后每个节点都将连接到数据库(某些conn池或单独的zookeeper节点),因为init函数和map函数将共享相同的作用域,然后出现问题不见了,所以您编写的代码比我发现的解决方法快。在执行结束时,spark将释放/卸载这些定义的变量,程序将结束。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/625767.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号