大佬教程收集整理的这篇文章主要介绍了Spark,如何将 A B,C 转换为 (A, List(B,C)),大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我是 spark 新手,我想实现 PageRank 算法。
例如我有一个页面链接文件,上下文如下:
A B,C
B A,D
C A
D A,B
E A,B,D
我想将其转换为:
(A,List(B,C))
(B,List(A,D))
(C,List(A))
(D,B))
(E,D))
不知道怎么用map函数 有人可以教我怎么做吗?
import spark.implicits._
import org.apache.spark.sql.functions._
val sourceData = spark
.read
.text("/path/example.txt")
.toDF("value")
sourceData.printscheR_589_11845@a()
// root
// |-- value: String (nullable = truE)
val df1 = sourceData
.SELEct(
split('value," ").getItem(0).as("col1"),split('value," ").getItem(1).as("col2"))
df1.printscheR_589_11845@a()
// root
// |-- col1: String (nullable = truE)
// |-- col2: String (nullable = truE)
df1.show(false)
// +----+-----+
// |col1|col2 |
// +----+-----+
// |A |B,C |
// |B |A,D |
// |C |A |
// |D |A,B |
// |E |A,B,D|
// +----+-----+
val df2 = df1.SELEct('col1,split('col2,",").as("col2"))
df2.printscheR_589_11845@a
// root
// |-- col1: String (nullable = truE)
// |-- col2: array (nullable = truE)
// | |-- element: String (containsNull = truE)
df2.show(false)
// +----+---------+
// |col1|col2 |
// +----+---------+
// |A |[B,C] |
// |B |[A,D] |
// |C |[A] |
// |D |[A,B] |
// |E |[A,D]|
// +----+---------+
V2:地图
val r1 = spark.read.text("/path/example.txt")
val r2 = r1.map(x => x.getString(0).split(" ")).map(i => (i(0),i(1).split(",")))
以上是大佬教程为你收集整理的Spark,如何将 A B,C 转换为 (A, List(B,C))全部内容,希望文章能够帮你解决Spark,如何将 A B,C 转换为 (A, List(B,C))所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。