String 在Spark/Scala中组合字符串

String 在Spark/Scala中组合字符串,string,scala,apache-spark,String,Scala,Apache Spark,在这种情况下,我必须将字符串与RDD out(字符串)组合在一起 字符串1 date= 字符串2(字符串的RDD) 输出为 date=20140101, date=20140102, date=20140103,..... 请帮助我在Spark中实现此结果,您可以这样做: string2.map(d => s"$string1=$d").mkString(",") // Some sample data in an RDD val data = List("20140101", "2

在这种情况下,我必须将字符串与RDD out(字符串)组合在一起

字符串1

date=
字符串2(字符串的RDD)

输出为

date=20140101, date=20140102, date=20140103,.....

请帮助我在Spark中实现此结果,您可以这样做:

string2.map(d => s"$string1=$d").mkString(",")
// Some sample data in an RDD
val data = List("20140101", "20140102", "20140103")
val rdd = sc.parallelize(data)

val concatenated = rdd.map(elem => s"date=$elem").reduce(_ + ", " + _)

请注意,
reduce
是一项操作。因此,reduce的结果需要存储在驱动程序的内存中。

谢谢您的帮助,我需要它作为一个组合字符串。所有元组都应该连接起来。此解决方案不提供连接的值。理想情况下,我应该使用flatmap将行转换为列(例如)。对不起,我不明白。您能详细说明一下吗?您好,我得到一个RDD[String]的不同日期,我有一个字符串变量val foo=“date=”。我需要连接输出,输出应该是一个字符串,即date=20140901,date=20140921,date=20140929。。。逗号分隔。对,这个怎么样?val foo=“date”val strings=sc.parallelize(Seq(“20140901”、“20140921”、“20140929”))strings.map(str=>s“$foo=$str”).reduce(+”,“++”)如果您有一个字符串类型的iterable(而不是RDD),您可以应用我提到的mkString方法来避免后面的逗号:
val concatenated=RDD.map(elem=>s“date=$elem”).reduce(“+”,“+”)
// Some sample data in an RDD
val data = List("20140101", "20140102", "20140103")
val rdd = sc.parallelize(data)

val concatenated = rdd.map(elem => s"date=$elem").reduce(_ + ", " + _)