文章目录
1、SparkContext详解
打开官网:
查看对应版本详细spark信息入口
Documentation -->older versions and other resources–>找到对应的版本,比如2.4.2
http://spark.apache.org/docs/2.4.2/rdd-programming-guide.html#initializing-spark
- The first thing a Spark program must do is to create a SparkContext object, which tells Spark how to access a cluster.
- To create a SparkContext you first need to build a SparkConf object that contains information about your application.
Spark程序必须做的第一件事是创建一个SparkContext对象,它告诉Spark如何访问集群。spark应用程序的入口
要创建SparkContext,首先需要构建一个包含应用程序信息的SparkConf对象。
val conf = new SparkConf().setAppName(appName).setMaster(master)
new SparkContext(conf)
SparkConf可以设置的信息有:
appName
master: Spark, Mesos or YARN cluster URL, or a special “local” string to run in local mode
比如local[2],代表在本地启用两个线程,在开发测试的时候用local模式足用了。
比如yarn模式:只需要在spark/conf配置文件中,指定HADOOP_CONF_DIR 或者 YARN_CONF_DIR即可
core/memory
- In practice, when running on a cluster, you will not want to hardcode master in the program, but rather launch the application with spark-submit and receive it there.
- However, for local testing and unit tests, you can pass “local” to run Spark in-process.
实际上,当在集群上运行时,你不要在程序中硬编码master,而是使用spark-submit启动应用程序并在那里接收它。
但是,对于本地测试和单元测试,您可以通过“local”运行Spark in-process。
就是说在集群上跑的时候,也就是生产上,不要硬编码master模式
val conf = new SparkConf().setAppName(appName).setMaster(“local[2]”) //不要在这里指定master是哪种模式
而是在用spark-submit的时候,设置master模式,这样我们可以跑在mesos、yarn上,而不需要修改代码
2、IDEA构建Spark应用程序
2.1 安装JDK1.8、Scala2.11.8和Maven3.6.1
JDK和Scala安装略,这里介绍下Maven安装
打开maven官网,下载apache-maven-3.6.1-bin.zip
解压并配置环境变量
系统变量:
新建MAVEN_HOME=D:\Develop\apache-maven-3.6.1
编辑Path:%MAVEN_HOME%\bin;
配置仓库地址和下载源
打开D:\Develop\apache-ma