第一个Spark程序

打印 上一主题 下一主题

主题 924|帖子 924|积分 2772

一、创建工程

1、创建方式一

创建Maven工程



添加Scala框架



创建Scala文件夹,并设置为源代码文件夹




创建包和对象






2、创建方式二

创建scala工程



添加maven框架




创建scala文件夹,并设置为源代码文件夹



创建包和对象




二、pom.xml添加依赖

  1.     <dependencies>
  2.         <dependency>
  3.             <groupId>org.scala-lang</groupId>
  4.             <artifactId>scala-library</artifactId>
  5.             <version>2.11.8 </version>
  6.         </dependency>
  7.         <dependency>
  8.             <groupId>org.apache.spark</groupId>
  9.             <artifactId>spark-core_2.11</artifactId>
  10.             <version>2.4.3</version>
  11.         </dependency>
  12.         <dependency>
  13.             <groupId>org.apache.hadoop</groupId>
  14.             <artifactId>hadoop-client</artifactId>
  15.             <version>3.2.0</version>
  16.         </dependency>
  17.     </dependencies>
复制代码
三、添加资源文件

在resources目录下创建log4j2.properties,内容如下:
  1. log4j.rootLogger=INFO, stdout   
  2. log4j.appender.stdout=org.apache.log4j.ConsoleAppender   
  3. log4j.appender.stdout.layout=org.apache.log4j.PatternLayout   
  4. log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n   
  5. log4j.appender.logfile=org.apache.log4j.FileAppender   
  6. log4j.appender.logfile.File=target/spring.log   
  7. log4j.appender.logfile.layout=org.apache.log4j.PatternLayout   
  8. log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n  
复制代码
四、添加代码如下

  1. package com.soft863
  2. import org.apache.spark.{SparkConf, SparkContext}
  3. object WordCount {
  4.   def main(args: Array[String]): Unit = {
  5.     //setMaster:指定spark的运行模式,这里指定为本地运行
  6.     //local[1]:指定线程数
  7.     var conf = new SparkConf().setMaster("local[1]").setAppName("WC")
  8.     //打包到linux服务器上执行,或者在windows上执行,需要Hadoop依赖
  9.     //conf = new SparkConf().setMaster("spark://master:7077").setAppName("WC")
  10.     //创建SparkContext,该对象是提交spark App的入口
  11.     val sc = new SparkContext(conf)
  12.     excute(sc,"D:\\word.txt","D:\\data\\output1")
  13.   }
  14.   def excute(sc: SparkContext, source: String, targetFolder: String): Unit = {
  15.     sc.textFile(source)
  16.       .flatMap(_.split(" "))
  17.       .map((_, 1))
  18.       .reduceByKey(_ + _)
  19.       //指定结果的输出目录,目录不能存在
  20.       .saveAsTextFile(targetFolder)
  21.     sc.stop()
  22.   }
  23. }
复制代码
五、运行程序,查看结果








免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

西河刘卡车医

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表