赞
踩
Spark 所需资料
链接:https://pan.baidu.com/s/12iaW68vriL6i-xI1kmr0_g?pwd=m4zc
提取码:m4zc
Spark 是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。
Spark 由 Scala 语言开发的,所以本课件接下来的开发所使用的语言也为Scala,咱们当前使用的Spark版本为3.0.0,默认采用的Scala编译版本为2.12,所以后续开发时。我们依然采用这个版本。开发前请保证IDEA开发工具中含有Scala开发插件(在Plugins中进行下载)
<dependencies>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.0.0</version>
</dependency>
</dependencies>
创建一个WordCount
在该项目路径下创建一个datas包,创建word.txt文件
// 创建Spark运行配置对象 val sparkConf = new SparkConf().setMaster("local[*]").setAppName("WordCount") // 创建Spark上下文环境对象(连接对象) val sc : SparkContext = new SparkContext(sparkConf) // 读取文件数据 val fileRDD: RDD[String] = sc.textFile("datas/word.txt") // 将文件中的数据进行分词 val wordRDD: RDD[String] = fileRDD.flatMap( _.split(" ") ) // 转换数据结构 word => (word, 1) val word2OneRDD: RDD[(String, Int)] = wordRDD.map((_,1)) // 将转换结构后的数据按照相同的单词进行分组聚合 val word2CountRDD: RDD[(String, Int)] = word2OneRDD.reduceByKey(_+_) // 将数据聚合结果采集到内存中 val word2Count: Array[(String, Int)] = word2CountRDD.collect() // 打印结果 word2Count.foreach(println) //关闭Spark连接 sc.stop()
执行过程中,会产生大量的执行日志,如果为了能够更好的查看程序的执行结果,可以在项
目的resources目录中创建log4j.properties文件,并添加日志配置信息:
log4j.rootCategory=ERROR, console log4j.appender.console=org.apache.log4j.ConsoleAppender log4j.appender.console.target=System.err log4j.appender.console.layout=org.apache.log4j.PatternLayout log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n # Set the default spark-shell log level to ERROR. When running the spark-shell, the # log level for this class is used to overwrite the root logger's log level, so that # the user can have different defaults for the shell and regular Spark apps. log4j.logger.org.apache.spark.repl.Main=ERROR # Settings to quiet third party logs that are too verbose log4j.logger.org.spark_project.jetty=ERROR log4j.logger.org.spark_project.jetty.util.component.AbstractLifeCycle=ERROR log4j.logger.org.apache.spark.repl.SparkIMain$exprTyper=ERROR log4j.logger.org.apache.spark.repl.SparkILoop$SparkILoopInterpreter=ERROR log4j.logger.org.apache.parquet=ERROR log4j.logger.parquet=ERROR # SPARK-9183: Settings to avoid annoying messages when looking up nonexistentUDFs in SparkSQL with Hive support log4j.logger.org.apache.hadoop.hive.metastore.RetryingHMSHandler=FATAL log4j.logger.org.apache.hadoop.hive.ql.exec.FunctionRegistry=ERROR
如果本机操作系统是Windows,在程序中使用了Hadoop相关的东西,比如写入文件到
HDFS,则会遇到如下异常:
Failed to locate the winutils binary in the hadoop binary path
在资料找到WindowsDep查找对应的hadoop版本
在IDEA中配置Run Configuration,添加HADOOP_HOME变量
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。