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

作者: 小强的进阶之路 | 来源:发表于2019-01-10 18:33 被阅读4次

    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插件

    image

    通过maven方式创建scala工程

    image

    按照步骤 点击next

    修改pom.xml中的文件

    增加spark和scala相关的依赖

    image

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

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

    本地模式

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

    创建scala的object类

    image

    在本地环境运行wordcount

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

    -Dspark.master=local

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

    该任务的执行结果

    image

    集群模式

    编译打包

    在生产环境下,通过在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所要用到的一系列环境变量。

    image

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

    交互模式

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

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

    log4j.rootCategory=WARN, console

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

    image

    总结

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

    近期热文:

    image

    相关文章

      网友评论

        本文标题:《从0到1学习spark》-- spark初体验

        本文链接:https://www.haomeiwen.com/subject/rtxzrqtx.html