Scala For循环从1到文件中的最大值
我是scala和spark的新手,希望在文件中执行从1到maxValue的for循环Scala For循环从1到文件中的最大值,scala,apache-spark,Scala,Apache Spark,我是scala和spark的新手,希望在文件中执行从1到maxValue的for循环 def main(args: Array[ String ]): Unit = { val conf = new SparkConf().setAppName("Shortest Path") val sc = new SparkContext(conf) val graph = sc.textFile(args(0)).map( line => { val a = line.
def main(args: Array[ String ]): Unit = {
val conf = new SparkConf().setAppName("Shortest Path")
val sc = new SparkContext(conf)
val graph = sc.textFile(args(0)).map( line => { val a = line.split(",")
Graph(a(0).toInt,a(1).toInt,a(2).toInt) } )
val distance = new ListBuffer[Long]
distance += 0
var i = 0
for (i <- 1 to 100000){
distance += Int.MaxValue
}
def main(args:Array[String]):单位={
val conf=new SparkConf().setAppName(“最短路径”)
val sc=新的SparkContext(配置)
val graph=sc.textFile(args(0)).map(line=>{val a=line.split(“,”)
图(a(0).toInt,a(1).toInt,a(2).toInt)})
val距离=新ListBuffer[长]
距离+=0
变量i=0
对于(i你的意思是这样的:
val iMax = graph.map{ g => g.i }.max
val jMax = graph.map{ g => g.j }.max
val theMax = math.max(iMax,jMax)
或者,您可以使用reduce
或fold
对数据进行一次遍历来确定iMax和jMax。您的意思是:
val iMax = graph.map{ g => g.i }.max
val jMax = graph.map{ g => g.j }.max
val theMax = math.max(iMax,jMax)
或者,您可以使用reduce
或fold
对数据进行一次遍历来确定iMax和jMax。您可以提供更多的细节吗?以及:1.文件中的每一行是否都是图形
对象?2.图形
RDD将为空,因为没有操作(map
是一个转换)是的,我们可以在图上进行映射转换:val graphset=graph.map(graph=>(graph.i,graph.d,graph.j))。现在我想做一个从1到(i元组和j元组的最大值)的for循环而不是1到100000。其中100k被我当作一个任意值。你能提供更多的细节吗?以及:1.文件中的每一行都是图形
对象吗?2.图形
RDD将为空,因为没有动作(映射
是一个转换)是的,我们可以在图形上进行映射转换为:val graphset=Graph.map(graph=>(graph.i,graph.d,graph.j))。现在我想做一个从1到(i元组和j元组的最大值)的for循环,而不是1到100000的for循环。其中100k被我当作任意值。这很简单,但我不熟悉scala语法,所以我感到困惑:)这很简单,但我不熟悉scala语法,所以我感到困惑:)