在大数据开发方向的学习过程中,Spark框架是必须要掌握重点技术之一。作为技术研发人员,学习Spark,那么掌握Spark编程是必须要掌握的。鉴于很多同学在Spark编程上存在各种问题,今天我们从基础入门的角度,给大家分享一些Spark编程代码示例。
Spark编程第一步,是要在自己的电脑上进行环境配置,这里以Mac系统的Spark本地模式为例,先配置练习环境:
①安装Java8
注意避免安装其它版本的jdk,否则会有不兼容问题。
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
②下载spark并解压
http://spark.apache.org/downloads.html
解压到以下路径:
Users/yourname/ProgramFiles/spark-2.4.3-bin-hadoop2.7
③配置spark环境
vim~/.bashrc
插入下面两条语句
export SPARK_HOME=/Users/yourname/ProgramFiles/spark-2.4.3-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
④配置jupyter支持
若未有安装jupyter可以下载Anaconda安装之。使用toree可以安装jupyter环境下的Apache Toree-Scala内核,以便在jupyter环境下运行Spark。
pip install toree
jupyter toree install--spark_home=Users/yourname/ProgramFiles/spark-2.4.3-bin-hadoop2.7
完成以上步骤,接下来就可运行Spark了,Spark目前支持多种方式运行:
①通过spark-shell进入Spark交互式环境,使用Scala语言。
②通过spark-submit提交Spark应用程序进行批处理。
这种方式可以提交Scala或Java语言编写的代码编译后生成的jar包,也可以直接提交Python脚本。
③通过pyspark进入pyspark交互式环境,使用Python语言。
这种方式可以指定jupyter或者ipython为交互环境。
④通过zepplin notebook交互式执行。
zepplin是jupyter notebook的apache对应产品。
⑤安装Apache Toree-Scala内核。
可以在jupyter中运行spark-shell。
使用spark-shell运行时,还可以添加两个常用的两个参数。一个是master指定使用何种分布类型。第二个是jars指定依赖的jar包。
#local本地模式运行,默认使用4个逻辑CPU内核
spark-shell
#local本地模式运行,使用全部内核,添加code.jar到classpath
spark-shell--master local[*]--jars code.jar
#local本地模式运行,使用4个内核
spark-shell--master local[4]
#standalone模式连接集群,指定url和端口号
spark-shell--master spark://master:7077
#客户端模式连接YARN集群,Driver运行在本地,方便查看日志,调试时推荐使用。
spark-shell--master yarn-client
#集群模式连接YARN集群,Driver运行在集群,本地机器计算和通信压力小,批量任务时推荐使用。
spark-shell--master yarn-cluster
#提交scala写的任务
./bin/spark-submit--class org.apache.spark.examples.SparkPi\
--master yarn\
--deploy-mode cluster\
--driver-memory 4g\
--executor-memory 2g\
--executor-cores 1\
--queue thequeue\
examples/jars/spark-examples*.jar 10
#提交python写的任务
spark-submit--master yarn\
--executor-memory 6G\
--driver-memory 6G\
--deploy-mode cluster\
--num-executors 600\
--conf spark.yarn.maxAppAttempts=1\
--executor-cores 1\
--conf spark.default.parallelism=2000\
--conf spark.task.maxFailures=10\
--conf spark.stage.maxConsecutiveAttempts=10\
test.py
接下来就是Spark程序当中很重要的一步,创建RDD。
一般来说,Spark编程创建RDD的基本方式有两种,第一种是使用textFile加载本地或者集群文件系统中的数据。第二种是使用parallelize方法将Driver中的数据结构并行化成RDD。
关于Spark 编程,以上就是今天给大家分享的一部分Spark编程代码示例,在Spark开发工作当中,涉及到Spark编程的部分是重难点,但是只要循序渐进去学习,其实掌握起来也没有那么难。成都加米谷大数据,专业
大数据培训机构,大数据开发2020春季班正在招生中,详情可联系客服了解!