spark配置

Posted iAthena

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark配置相关的知识,希望对你有一定的参考价值。

进入交互界面

  1. ./bin/spark-shell

创建textFile,从本地文件,

  1. val textFile = sc.textFile("file:///usr/local/spark/README.md")

从HDFS读取,

  1. scala> val textFile = sc.textFile("input/yarn-site.xml")

  1. scala> textFile.count() // RDD 中的 item 数量,对于文本文件,就是总行数

  1. scala> textFile.first() // RDD 中的第一个 item,对于文本文件,就是第一行内容

  1. scala>  val linesWithSpark = textFile.filter(line => line.contains("Spark"))
  1. scala> linesWithSpark.count()

  1. textFile.filter(line => line.contains("Spark")).count()

RDD的更多

  1. textFile.map(line => line.split(" ").size).reduce((a, b) => if (a > b) a else b)

将每一行内容 map 为一个整数,这将创建一个新的 RDD,并在这个 RDD 中执行 reduce 操作,找到最大的数。

map()、reduce() 中的参数是 Scala 的函数字面量(function literals,也称为闭包 closures),并且可以使用语言特征或 Scala/Java 的库。

例如,通过使用 Math.max() 函数(需要导入 Java 的 Math 库),可以使上述代码更容易理解:


  1. import java.lang.Math
    textFile
    .map(line => line.split(" ").size).reduce((a, b) => Math.max(a, b))

wordcount

  1. val wordCounts = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey((a, b) => a + b)  
     

  2. wordCounts.collect()  









以上是关于spark配置的主要内容,如果未能解决你的问题,请参考以下文章

spark关于join后有重复列的问题(org.apache.spark.sql.AnalysisException: Reference '*' is ambiguous)(代码片段

Spark闭包与序列化

控制 spark-sql 和数据帧中的字段可空性

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置

VSCode自定义代码片段11——vue路由的配置