《从0到1学习spark》-- spark初体验

2019-09-20 17:03:08 浏览数 (1)

Spark工程环境搭建

Spark工程相关配置的版本

  • JDK: 1.8.0_181
  • Spark: 2.3.0
  • Hadoop: 2.7
  • Scala: 2.12.6
  • OS: mac
  • Maven: 3.5.4

下载并安装JDK、Scala、Maven

安装步骤很简单,这里就不做阐述啦。

通过IDEA安装Scala插件

通过maven方式创建scala工程

按照步骤 点击next

修改pom.xml中的文件

增加spark和scala相关的依赖

小强直接把pom.xml文件上传到云盘,需要的同学可以直接下载。

https://pan.baidu.com/s/1M7KJVH89h6bVMJVpai1s8A 密码:vdp5

本地模式

将创建好scala工程,可以在本地调试,需要配置sparkConf和创建SparkContext

创建scala的object类

在本地环境运行wordcount

在Edit Configurations设置为本地运行,VM options设置如下:

-Dspark.master=local

然后直接运行main函数即可。在结果输出的路径可以查看到相关文件。

该任务的执行结果

集群模式

编译打包

在生产环境下,通过在IDEA中编写程序,然后打成jar包,再提交到集群中。可以利用mavne或sbt打包,小强一般用maven创建一个项目,利用maven来管理jar包的依赖。

使用maven打包,首先修改pom.xml中的mainClass,使其和自己对应的类对应起来

运行maven打包命令:mvn clean package

上传jar包到集群

编译打包成功后,将对应的jar包上传到spark集群中的某个节点上

一般公司内都有现成的hadoop集群和spark集群。使用bin/spark-submit脚本执行我们的应用,spark-submit脚本可以为我们配置spark所要用到的一系列环境变量。

在spark-submit可以通过设置参数对spark任务进行调优,这个小强后续会有专题介绍。

交互模式

如果是scala版本的shell,输入: bin/spark-shell,稍等数秒,shell提示符就会出现。

如果觉得shell中输出的日志信息过多而使人分心,可以调整日志级别来控制输出的信息量。需要在conf的目录下创建一个名为log4j.prpperties的文件来管理日志设置。将日志级别设置为只显示警告及更严重的信息:

log4j.rootCategory=WARN, console

这会再打开shell,输出大大减少

总结

我们讲到了spark在单机和集群模式下运行spark以及spark的使用。相比java代码,scala代码更简洁,spark是由scala开发的,由此可见scala在spark工程中的优势。

0 人点赞