程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Spark,如何将 A B,C 转换为 (A, List(B,C))大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决Spark,如何将 A B,C 转换为 (A, List(B,C))?

开发过程中遇到Spark,如何将 A B,C 转换为 (A, List(B,C))的问题如何解决?下面主要结合日常开发的经验,给出你关于Spark,如何将 A B,C 转换为 (A, List(B,C))的解决方法建议,希望对你解决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,请注明来意。