这里是spark中的dataFrame
public boolean onTouch(View v, MotionEvent event) {
//your code here
//Return false is the trick
return false;
我想要做的是:对于第一列的所有行,将它们累加起来,即+------+----+---+
| Close|sell|buy|
+------+----+---+
| 314.6| 0| 1|
| 120| 1| 0|
| 192| 0| 1|
|199.46| 1| 0|
|255.05| 0| 1|
|250.52| 1| 0|
|252.53| 0| 1|
|245.32| 1| 0|
-----------------
,我想得到最终值。
答案 0 :(得分:1)
已删除的帖子几乎在那儿,但是您正在处理行类型的RDD以便应用减少,并具有120和134.4之类的数据,这会导致行类型的AnyVal出现问题。
我建议考虑以下123和123.5格式:
case class Employee(first_name:String, job_type:String, salary:Double)
val dfE = spark.createDataFrame(
Seq(Employee("John", "sh_clerk", 20000),
Employee("Peter", "sh_clerk", 60000.0), Employee("Sally", "manager", 50000.0),
Employee("Cabe", "programmer", 100000.0), Employee("Bob", "accountant", 65000.0)
)
)
dfE.show(false)
dfE.printSchema()
dfE.select("salary").rdd.map(row => row.getDouble(0)).reduce(_*_)
在这种情况下,它会毫无例外地返回以下内容:
res19: Double = 3.9E23
案例类更多是出于形式上的考虑-RDD遇到了AnyVal问题。