我有一个像这样的Spark SQL select ...join B on A.k = B.k
join C on A.k = C.k A有2k个分区;B有7个分区;而C没有分区。我将最大动态执行器数量设置为50。但是,该应用程序获得了< 20个执行者。当两个阶段并行运行时,一个阶段使用5个执行器,而另一个使用6个。 我是否应该增加B和C的分区数以使查询更加并行化?
问题是,所有者已经安装了Windows 10,并且磁盘被格式化为动态布局(在MBR方案上)。Windows显示有4个现有卷(C, D, E, F),但是Gparted (在活动的Linux上)并不将最后三个分区(D, E, F)显示为单独的分区,而是将它们显示为C分区旁边的一个整体分区(NTFS在开始时(不知道这个动态的事情),我认为从F磁盘管理器中释放最后一个分区( Windows )将解决问题& Linux会将其读取为一个
我使用一个索引列作为过滤器,将它放在两个文字值之间。(该列位于索引的第二位置,实际上使执行速度变慢;稍后我将讨论这个问题)。这忽略了索引: 2 FROM gprs_history_import gh 4 to_date('20140610 000000','yyyymmdd hh24miss') AND