spark Scala简单加法等数学计算
spark Scala simple addition and other mathematical calculation
嗨,我是 apache Spark 的新手,在我的用例中,我将有 3 个输入,都存在于 HDFS 中,我需要从存在于 hdfs 中的文件中提取数据并添加两个数据并将结果除以第三个数据,我该如何进行?
感谢您的快速回复。
像这样的东西应该可以工作:
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
val conf = new SparkConf().setAppName("spark-scratch").setMaster("local")
val sc = new SparkContext(conf)
val A = sc.textFile("/user/root/spark/cc.dat").map(_.split(",")).map(fc => (fc(3).toInt))
val B = sc.textFile("/user/root/spark/aci.dat").map(_.split(",")).map(fc => (fc(4).toInt))
val C = sc.textFile("/user/root/spark/bta.dat").map(_.split(",")).map(fc => (fc(5).toInt))
val calc = { r: ((Int, Int), Int) =>
val ((a, b), c) = r
a * b * c / 12
}
val result = (A zip B zip C).map(calc)
(可以编译,但我没有测试)
嗨,我是 apache Spark 的新手,在我的用例中,我将有 3 个输入,都存在于 HDFS 中,我需要从存在于 hdfs 中的文件中提取数据并添加两个数据并将结果除以第三个数据,我该如何进行?
感谢您的快速回复。
像这样的东西应该可以工作:
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._
import org.apache.spark.SparkConf
import org.apache.spark.rdd.RDD
val conf = new SparkConf().setAppName("spark-scratch").setMaster("local")
val sc = new SparkContext(conf)
val A = sc.textFile("/user/root/spark/cc.dat").map(_.split(",")).map(fc => (fc(3).toInt))
val B = sc.textFile("/user/root/spark/aci.dat").map(_.split(",")).map(fc => (fc(4).toInt))
val C = sc.textFile("/user/root/spark/bta.dat").map(_.split(",")).map(fc => (fc(5).toInt))
val calc = { r: ((Int, Int), Int) =>
val ((a, b), c) = r
a * b * c / 12
}
val result = (A zip B zip C).map(calc)
(可以编译,但我没有测试)