Scala开发Spark
jar包下载
在spark-1.6.1-bin-hadoop2.6找到spark-assembly-1.6.1-hadoop2.6.0.jar放到Scala的环境配置中
wordcount开发
创建Spark的配置对象SparkConf
1 | val conf=new SparkConf().setAppName("wordcount") //设置程序的名称 |
创建SparkContext对象
SparkContext是spark程序所有功能的唯一入口 核心作用:初始化spark应用程序运行的核心组件
包括DAGScheduler TaskScheduler SchedulerBackend 同时负责Spark程序往master注册程序等1
val sc=new SparkContext(conf)
创建RDD(弹性分布式数据集)
Spark的RDD是一个不可变的分布式对象集合,每个RDD划分为一系列的partitions,分配给每个partitions的数据属于一个Task
1.根据外部数据来源HDFS
2.根据Scala集合
3.由其他RDD操作
wholeTextFiles()读取目录里面的小文件,返回(文件名,内容)对
sequenceFileK,V方法可以将SequenceFile转换为RDD
hadoopRDD()方法可以将其他任何Hadoop的输入类型转化为RDD1
val lines=sc.textFile("/user/a.txt")
对RDD进行Transformation级别的处理,例如map filter等高阶操作
1 | val words=lines.flatMap { lines => lines.split(" ") } |
打包操作放到服务器上运行
编写脚本 wordcount.sh1
2
3./spark-submit --class com.spark.wordcount --master spark://master:7077 wordcount.jar
类名 集群 jar包的全路径
chmod +x wordcount.sh