Apache spark Spark';s reduceByKey使用恒定的内存量,还是使用线性的键数?
据我所知,Hadoop MapReduce中有一些外部排序和/或解决方案,它们允许在按键对数据进行排序/分组时使用恒定的内存量,而不是更多,以便通过每个键的聚合函数进行进一步的管道传输 假设还原状态也是一个常量,就像加法一样Apache spark Spark';s reduceByKey使用恒定的内存量,还是使用线性的键数?,apache-spark,mapreduce,apache-flink,Apache Spark,Mapreduce,Apache Flink,据我所知,Hadoop MapReduce中有一些外部排序和/或解决方案,它们允许在按键对数据进行排序/分组时使用恒定的内存量,而不是更多,以便通过每个键的聚合函数进行进一步的管道传输 假设还原状态也是一个常量,就像加法一样 apachespark或Flink是否也可以使用这种常量内存分组/排序,如果可以,在reduceByKey或aggregateByKey的情况下,是否有任何特定的配置或编程方式要求这种恒定内存处理方式?两个系统都需要隐式执行该操作,因为Java进程只获得固定数量的主内存。请
apachespark或Flink是否也可以使用这种常量内存分组/排序,如果可以,在reduceByKey或aggregateByKey的情况下,是否有任何特定的配置或编程方式要求这种恒定内存处理方式?两个系统都需要隐式执行该操作,因为Java进程只获得固定数量的主内存。请注意,当要排序的数据变得更大时,需要将数据溢出到磁盘上。在排序的情况下,根据您的查询,可能意味着完整的数据集需要在主内存和磁盘上具体化 如果你问是否可以限制特定操作符的内存消耗,那么事情看起来就复杂多了。您可以将应用程序限制为一个特定的操作,并使用全局内存设置来限制消耗,但这将导致复杂的设置 您是否有一个特定的用例,需要限制特定操作的内存
BTW,你可以考虑Spand和Flink来取代Hadoop MapReduce。MapReduce可能能够击败下一代系统的只是几个边缘案例
两个系统都需要隐式执行该操作,因为Java进程只获得固定数量的主内存。请注意,当要排序的数据变得更大时,需要将数据溢出到磁盘上。在排序的情况下,根据您的查询,可能意味着完整的数据集需要在主内存和磁盘上具体化 如果你问是否可以限制特定操作符的内存消耗,那么事情看起来就复杂多了。您可以将应用程序限制为一个特定的操作,并使用全局内存设置来限制消耗,但这将导致复杂的设置 您是否有一个特定的用例,需要限制特定操作的内存BTW,你可以考虑Spand和Flink来取代Hadoop MapReduce。MapReduce可能能够击败下一代系统的只是几个边缘案例