赞
踩
主要用于本地阅读Spark源码,同时也可以用于实战运行spark程序
jdk : 1.8+
scala: 2.12+ (Spark 3x要求 scala版本2.12)
File->Maven->Next
注意事项:
- 配置maven 国内镜像,用于加速下载jar包
参考:https://developer.aliyun.com/article/695269- 配置idea scala sdk, File–Project Structure–Platform Settings–Global Libreries,用于项目中新建scals class文件
参考:https://blog.csdn.net/xuebahuobao/article/details/98207566
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.example</groupId> <artifactId>spark-test</artifactId> <version>1.0-SNAPSHOT</version> <properties> <maven.compiler.source>8</maven.compiler.source> <maven.compiler.target>8</maven.compiler.target> <scala.version>2.12</scala.version> <spark.version>3.0.3</spark.version> <encoding>UTF-8</encoding> </properties> <dependencies> <!-- 导入spark的依赖 --> <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-core_${scala.version}</artifactId> <version>${spark.version}</version> </dependency> </dependencies> </project>
一般scala程序,放在main文件夹下新建的一个scala文件夹,改文件夹标记为Sources Root;
import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object WordCount { /** * spark word count * * @param args 传入参数 */ def main(args: Array[String]): Unit = { // 本地模式的最简单一种 val conf = new SparkConf().setMaster("local").setAppName("WordCount") val sc = new SparkContext(conf) val wordString = Array("hadoop", "hadoop", "spark", "spark", "spark", "spark", "flink", "flink", "flink", "flink", "flink", "flink", "hive", "flink", "hdfs", "yarn", "zookeeper", "hbase", "impala", "sqoop", "hadoop") // 从本地文件创建 //val lines: RDD[String] = sc.textFile("./wcinput/wc.txt") val lines = sc.parallelize(wordString) lines.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_ + _).collect().foreach(println) sc.stop() } }
Spark运行模式介绍:
概括起来为3种,本地模式,standalone模式,yarn/mesos模式, 我的实际工作中为yarn-master模式
细分如下:
- local 在本地运行,只有一个工作进程,无并行计算能力。
- local[K] 在本地运行,有 K 个工作进程,通常设置 K 为机器的CPU 核心数量。
- local[*] 在本地运行,工作进程数量等于机器的 CPU 核心数量。
- spark://HOST:PORT 以 Standalone 模式运行,这是 Spark 自身提供的集群运行模式,默认端口号: 7077。
- mesos-client ./spark-shell --master mesos://host:port --deploy-mode client
- mesos-cluster ./spark-shell --master mesos://host:port --deploy-mode cluster
- yarn-client 在 Yarn 集群上运行,Driver 进程在本地,Work 进程在 Yarn 集群上。./spark-shell --master yarn --deploy-mode client。Yarn 集群地址必须在HADOOP_CONF_DIRorYARN_CONF_DIR 变量里定义
- yarn-cluster 在 Yarn 集群上运行,Driver 和Work 进程都在 Yarn 集群上。./spark-shell --master yarn --deploy-mode cluster。Yarn 集群地址必须在HADOOP_CONF_DIRorYARN_CONF_DIR 变量里定义
参考:https://blog.csdn.net/shuimofengyang/article/details/100124601
说明本地运行spark成功
Ctrl+鼠标左键,这个常用语查看变量、类型及方法的定义以及查看方法的实现
Ctrl+F12,这个用于查看一个文件的结构。
Ctrl+H,这个用于查看一个类的继承关系树,是自顶向下的结构显示,也可以点击相应的按钮变成自底向上
Alt+左右方向键,阅读代码时,我们经常进入调用的方法查看后又跳转回调用的位置,Ctrl+左方向键是退回上一个阅读的位置,Ctrl+右方向键是前进到下一个阅读的位置。
Ctrl+Alt+H,这个用于显示方法被哪些方法调用,并生成调用树。
原文链接:https://blog.csdn.net/u013180299/article/details/52333992
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。