一个简单的例子:
假设数据RDD以(int, double)
格式存储数据。
当我执行缩减时,例如data.reduceByKey{ case(a,b) => a + b}
,一个问题在我脑海中浮现:如果输入数据足够大以使累计值大于最大双值,该怎么办? Spark会处理这个问题吗?
答案 0 :(得分:3)
例如,如果您使用Java进行编程,那么这不是Spark的错,即Java具有double的最大值。开发人员需要采取措施避免这种情况,如果他或她认为这是输入的可能性。例如,通过使用BigDecimal而不是double。
请记住,Spark不对存储在RDD中的类型(int,double,等)的行为负责。
(编辑)请注意Patricia的评论如下。如果忽略double和BigDecimal
给出的特定示例,问题和答案仍然相关