做网站用啥语言,东莞学网站建设难吗,法治建设网站模块名称,做百科发那些网站新闻好一、前期准备 前期的环境准备#xff0c;在Linux系统下要有Hadoop系统#xff0c;spark伪分布式或者分布式#xff0c;具体的教程可以查阅我的这两篇博客#xff1a; Hadoop2.0伪分布式平台环境搭建 Spark2.4.0伪分布式环境搭建 然后在spark伪分布式的环境下必须出现如下八…一、前期准备 前期的环境准备在Linux系统下要有Hadoop系统spark伪分布式或者分布式具体的教程可以查阅我的这两篇博客 Hadoop2.0伪分布式平台环境搭建 Spark2.4.0伪分布式环境搭建 然后在spark伪分布式的环境下必须出现如下八个节点才算spark环境搭建好。 然后再在本地windows系统下有一个简单的词频统计程序。 import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.rdd.RDDobject ScalaSparkDemo {def main(args: Array[String]) {/*** 第一步创建Spark的配置对象SparkConf设置Spark程序的运行时的配置信息* 例如说通过setMaster来设置程序要连接的Spark集群的Master的URL* 如果设置为local则代表Spark程序在本地运行特别适合于机器配置条件非常差* 例如只有1G的内存的初学者*/val conf new SparkConf() //创建SparkConf对象由于全局只有一个SparkConf所以不需要工厂方法conf.setAppName(wow,my first spark app) //设置应用程序的名称在程序的监控界面可以看得到名称//conf.setMaster(local) //此时程序在本地运行不需要安装Spark集群/*** 第二步创建SparkContext对象* SparkContext是Spark程序所有功能的唯一入口无论是采用Scala、Java、Python、R等都必须要有一个* SparkContext* SparkContext核心作用初始化Spark应用程序运行所需要的核心组件包括DAGSchedulerTaskSchedulerSchedulerBacked* 同时还会负责Spark程序往Master注册程序等* SparkContext是整个Spark应用程序中最为至关重要的一个对象*/val sc new SparkContext(conf) //创建SpackContext对象通过传入SparkConf实例来定制Spark运行的具体参数的配置信息/*** 第三步根据具体的数据来源HDFSHBaseLocalFileSystemDBS3通过SparkContext来创建RDD* RDD的创建基本有三种方式1根据外部的数据来源例如HDFS2根据Scala集合3由其它的RDD操作* 数据会被RDD划分为成为一系列的Partitions分配到每个Partition的数据属于一个Task的处理范畴*///读取本地文件并设置为一个Partition// val lines sc.textFile(words.txt, 1) //第一个参数为为本地文件路径第二个参数minPartitions为最小并行度这里设为1sc.setLogLevel(WARN)val lines sc.parallelize(List(pandas,i like pandas))//类型推断 ,也可以写下面方式// val lines : RDD[String] sc.textFile(words.txt, 1)/*** 第四步对初始的RDD进行Transformation级别的处理例如mapfilter等高阶函数* 编程。来进行具体的数据计算* 第4.1步将每一行的字符串拆分成单个的单词*///对每一行的字符串进行单词拆分并把所有行的结果通过flat合并成一个大的集合val words lines.flatMap { line line.split( ) }/*** 第4.2步在单词拆分的基础上对每个单词实例计数为1也就是wordword,1tuple*/val pairs words.map { word (word, 1) }/*** 第4.3步在每个单词实例计数为1的基础之上统计每个单词在文中出现的总次数*///对相同的key进行value的累加包括local和Reduce级别的同时Reduceval wordCounts pairs.reduceByKey(_ _)//打印结果wordCounts.foreach(wordNumberPair println(wordNumberPair._1 : wordNumberPair._2))//释放资源sc.stop()}
}二、导出jar包 这里注意词频统计程序的包名为test,类名为ScalaSparkDemo。 注意这里勾选要打包所依赖的一些文件。当然可以选择把整个工程打包。还要注意这里打包后的文件名为test.jar。 然后上传到Ubuntu中使用这个命令 bin/spark-submit --class test.ScalaSparkDemo --master local /home/xiaow/test.jar 即可运行。/home/xiaow/test.jar指明此jar包在主节点上的位置。关于打包到集群的详细命令可以查阅我的这一篇博客Spark学习之在集群上运行Spark 如此搞定收工 转载于:https://www.cnblogs.com/xiaoyh/p/10822102.html