我在EMR(5.7.0)上运行了一个pyspark应用程序,它处理大约140M的json记录。没有什么比数据集大小更奇特 - 主要操作是map,filter,count,repartitionAndSort和mapPartition。
这个应用程序在40 m3.2xlarge实例的集群上运行,但我想在m4系列上尝试它(因为我可以通过这种方式访问更强大的机器)。
然而,执行器落在群集上变得无法运行(如果我重新运行我的应用程序,它会在很早的时候失败而没有可用的执行程序。)
这是我失败时的堆栈跟踪。
unsigned long x = 42;
unsigned char uc[4];
uc[0] = (x & 0x000000FF);
uc[1] = (x & 0x0000FF00) >> 8;
uc[2] = (x & 0x00FF0000) >> 16;
uc[3] = (x & 0xFF000000) >> 24;
printf("uc[0] = %x \n", uc[0]);
printf("uc[1] = %x \n", uc[1]);
printf("uc[2] = %x \n", uc[2]);
printf("uc[3] = %x \n", uc[3]);
有任何帮助吗?似乎非常奇怪,这不能在m4级机器上运行。