scala - Spark Scala简单加法和其他数学计算

标签 scala hadoop apache-spark

嗨,我是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)

(它可以编译,但是我没有对其进行测试)

关于scala - Spark Scala简单加法和其他数学计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27908951/

相关文章:

java - 为什么我收到UnsatisfiedLinkError

java - Hadoop 2.4.0 + HCatalog + Mapreduce

apache-spark - 缓存和持久化有什么区别?

scala - 解析器测试的意外结果

java - 在 JVM 中分析 block 的正确方法?

hadoop - 在 Hadoop MapReduce 中实现偏斜数据的范围分区

apache-spark - 从本地 jupyter notebook 连接到 Spark 集群

python - 在 pyspark 中将行转置为列

scala - 玩Framework + Scala + Couchbase?

json - 这是从 S3 : Spark 读取 Json 文件的最快方法