/ / स्पार्क में बड़ा पूर्णांक संख्या - अपाचे-स्पार्क

स्पार्क में बड़ा पूर्णांक संख्या - अपाचे-स्पार्क

स्पार्क-खोल में, मैं निम्नलिखित कोड चलाता हूं:

scala> val input = sc.parallelize(List(1, 2, 4, 1881824400))
input: org.apache.spark.rdd.RDD[Int] = ParallelCollectionRDD[0] at parallelize at <console>:21

scala> val result = input.map(x => 2*x)
result: org.apache.spark.rdd.RDD[Int] = MapPartitionsRDD[1] at map at <console>:23

scala> println(result.collect().mkString(","))
2,4,8,-531318496

2 * 1881824400 = -531318496 का परिणाम क्यों? 3763648800 नहीं?

क्या स्पार्क में एक बग है?

आपकी सहायता के लिए धन्यवाद.

उत्तर:

जवाब के लिए 0 № 1

धन्यवाद ccheneson और hveiga। जवाब यह है कि मैपिंग परिणाम को ^ ^ 31 से बड़ा बनाता है, इंटरगर की सीमा को चलाता है। इसलिए, संख्या नकारात्मक क्षेत्र में कूदती है।