如何将键附加到 {Key,Value} 对 RDD 的值以及如何将其转换为 rdd?
How to append keys to values for {Key,Value} pair RDD and How to convert it to an rdd?
假设我在数据集目录的 file1 和 file2 中有 2 个文件:
val file = sc.wholeTextFiles("file:///root/data/dataset").map((x,y) => y + "," + x)
在上面的代码中,我试图获取一个具有值的 rdd:-> 值,键作为单个值进入 rdd
假设文件名是file1,假设有2条记录:
file1:
1,30,ssr
2,43,svr
和
file2:
1,30,psr
2,43,pvr
所需的 rdd 输出是:
(1,30,ssr,file1),(2,43,svr,file1),(1,30,psr,file2),(2,43,pvr,file2)
我们能做到吗?
如果可能请帮助我!
var files = sc.wholeTextFiles("file:///root/data/dataset")
var yourNeededRdd = files
.flatMap({
case (filePath, fileContent) => {
val fileName = filePath.split('/).last
fileContent.split("\n").map(line => line + "," + fileName)
}
})
假设我在数据集目录的 file1 和 file2 中有 2 个文件:
val file = sc.wholeTextFiles("file:///root/data/dataset").map((x,y) => y + "," + x)
在上面的代码中,我试图获取一个具有值的 rdd:-> 值,键作为单个值进入 rdd
假设文件名是file1,假设有2条记录:
file1:
1,30,ssr
2,43,svr
和
file2:
1,30,psr
2,43,pvr
所需的 rdd 输出是:
(1,30,ssr,file1),(2,43,svr,file1),(1,30,psr,file2),(2,43,pvr,file2)
我们能做到吗? 如果可能请帮助我!
var files = sc.wholeTextFiles("file:///root/data/dataset")
var yourNeededRdd = files
.flatMap({
case (filePath, fileContent) => {
val fileName = filePath.split('/).last
fileContent.split("\n").map(line => line + "," + fileName)
}
})