spark高级编程

启动spark-shell

如果你有一个Hadoop 集群, 并且Hadoop 版本支持YARN, 通过为Spark master 设定yarn-client 参数值,就可以在集群上启动Spark 作业:
$ spark-shell --master yarn-client
如果你是在自己的计算机上运行示例,可以通过设定local[N] 参数来启动本地Spark 集群,其中N 代表运行的线程数,或者用* 表示使用机器上所有可用的核数。比如,要在一个8 核的机器上用8 个线程启动一个本地集群,可以输入以下命令:
$ spark-shell --master local[*]

列出了shell 的所有命令。运行:history 或:h?,可以帮你找到之前在某个会话中写过,但一时又想不起来的变量或函数名称。

运行:paste,可以帮你插入剪贴板中的代码

scala> val arrRD=sc.makeRDD(Array("hello","hi","how are you","hehe"))

arrRD: org.apache.spark.rdd.RDD[String] = ParallelCollectionRDD[270] at makeRDD at <console>:44

scala> def iscontain(str:String)=str.contains("o")

iscontain: (str: String)Boolean

scala> arrRD.filter(iscontain).collect

res215: Array[String] = Array(hello, how are you)

scala> arrRD.filter(!iscontain(_)).collect
res229: Array[String] = Array(hi, hehe) 

scala> arrRD.filter(iscontain).map(x=>(x,x.length)).collect
res217: Array[(String, Int)] = Array((hello,5), (how are you,11))

用元组和case class对数据进行结构化

原文地址:https://www.cnblogs.com/playforever/p/9244056.html