join – Spark 2.0.0错误:PartitioningCollection要求其所有分
|
我在Spark中加入一些DataFrames并且我一直收到以下错误: PartitioningCollection requires all of its partitionings have the same numPartitions. 这似乎发生在我将两个DataFrame连接在一起后,每个看起来都很合理,但是在加入它们之后,如果我尝试从连接的DataFrame中获取一行,我会收到此错误.我真的只是想了解为什么会出现这个错误或者背后的含义是什么,因为我似乎无法找到任何关于它的文档. 以下调用导致此异常: val resultDataframe = dataFrame1 .join(dataFrame2,$"first_column" === $"second_column").take(2) 但我当然可以打电话 dataFrame1.take(2) 和 dataFrame2.take(2) 我还尝试重新分区DataFrames,在加入之前使用dataFrame1和dataFrame2上的Dataset.repartition(numPartitions)或Dataset.coalesce(numParitions),以及在连接之后的resultDataFrame上,但似乎没有任何东西影响错误.一些粗略的谷歌搜索后,我无法找到其他人得到错误的参考… 解决方法我在过去几天遇到了同样的问题,当我在互联网上找不到任何引用时,我很失望.直到你的!我要添加的一些事情:在数据帧(多个连接)上的一组非常复杂的操作之后,我得到了错误.此外,这些操作涉及从同一父数据帧生成的数据帧. 我怀疑当DAG过于复杂时,Spark可能在计算正确的计划时遇到麻烦. 解决问题(暂时)的实用解决方案似乎是:在管道中写入磁盘(在某些时候)某些数据帧,然后再次读取它们.这有效地迫使Spark有一个更小,更易于管理的优化计划,而且它不再崩溃.当然,这只是一个临时修复. (编辑:揭阳站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Office System 2003最终版网上泄漏
- Opera无奈替微软卖命 新版浏览器先优待视窗
- 研究人员发现IE漏洞未先通知 微软开始调查
- 在SQL Server中无需时间比较日期的最佳方法
- sql-server – 如何强制SQL Server Management Studio更新I
- sql-server-2005 – 用户定义的函数输出进行Nhibernate过滤
- sql-server – 为什么SQL Server 2005消耗了这么多内存(甚至
- 基链接标签base的使用介绍
- 大光圈定焦镜头 佳能RF50mm F1.2 L USM
- windows storage server 2008创建iscsi磁盘

