Scala Spark将逗号分隔的行数组拆分为第一个值和其余值

Scala Spark将逗号分隔的行数组拆分为第一个值和其余值,scala,apache-spark,rdd,Scala,Apache Spark,Rdd,我有一个数据集: val raw_data = sc.parallelize(Array( "Batch1, i, 10, j, 20", "Batch2, i, 20, k, 30, m,50", "Batch3, i, 30, n, 20, j, 30" )) 在进一步处理数据之前,我想将第一个条目或每一行拆分为它的列。我试过: raw_data.map(x => x.split(",&qu

我有一个数据集:

val raw_data = sc.parallelize(Array(
    "Batch1, i, 10, j, 20",
    "Batch2, i, 20, k, 30, m,50",
    "Batch3, i, 30, n, 20, j, 30"
))
在进一步处理数据之前,我想将第一个条目或每一行拆分为它的列。我试过:

raw_data.map(x => x.split(",")).map(x=>(x(0), x))
但我得到:

"Batch1", "Batch1, i, 10, j, 20",
"Batch2", "Batch2, i, 20, k, 30, m,50",
"Batch3", "Batch3, i, 30, n, 20, j, 30"
当我使用python时,我可以进行如下索引:

x(1:)
选择第一个值之后的所有内容。scala有类似的东西吗


您可以使用
头部
尾部

raw_data.map(x => x.split(", ")).map(x=>(x.head, x.tail))
此外,如果不希望结果中出现不必要的空格,您可能希望在“
”、“
而不是“
”、“
上拆分

raw_data.map(x => x.split(", ")).map(x=>(x.head, x.tail))