目录

什么是Spark?

Spark有哪些特点和优势

1.计算速度

2.易用性

3.通用性

4.兼容性

Spark架构

Spark基本概念

Spark结构设计

使用Scala语言实现Spark本地词频统计


什么是Spark?

Spark它是一个用于大规模数据处理的实时计算引擎。

Spark有哪些特点和优势

1.计算速度

由于Spark它是基于内存计算的方式,从计算速度来说远比Hadoop要高,经过统计Spark的计算速度是Hadoop的100多倍。

2.易用性

Spark能够支持多种编程语言进行开发。有 Java, Scala, Python, R, 和 SQL

3.通用性

Spark支持一站式开发流程,支持一系列库,包括SQL和DataFrames、用于机器学习的MLlib、GraphX和Spark流。

4.兼容性

Spark可以运行在Hadoop、Apache Mesos、Kubernetes、独立平台上,也可以运行在云上。它可以访问不同的数据源。

Spark架构

Spark基本概念

RDD:是弹性分布式数据集(Resilient Distributed Dataset)的简称,是分布式内存的一个抽象概念,提供了一种高度受限的共享内存模型;
DAG:是Directed Acyclic Graph(有向无环图)的简称,反映RDD之间的依赖关系;
Executor:是运行在工作节点(Worker Node)上的一个进程,负责运行任务,并为应用程序存储数据;
应用:用户编写的Spark应用程序;
任务:运行在Executor上的工作单元;
作业:一个作业包含多个RDD及作用于相应RDD上的各种操作;
阶段:是作业的基本调度单位,一个作业会分为多组任务,每组任务被称为“阶段”,或者也被称为“任务集”。

Spark结构设计

Master节点:Spark运行架构包括集群资源管理器

Worker节点:运行作业任务的工作节点(Node)

Driver:任务提交运行程序

Executor:和每个工作节点上负责具体任务的执行进程(Executor)

集群资源管理器可以是Spark自带的资源管理器,也可以是YARN或Mesos等资源管理框架。

使用Scala语言实现Spark本地词频统计

1.创建Maven工程

2.pom.xml导入相关依赖

<build><!--java编译插件,如果使用的java默认配置不是java8,需要配置这个--><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>8</source><target>8</target></configuration></plugin></plugins></build><!--spark核心依赖-->
<dependencies><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.11</artifactId><version>2.2.0</version></dependency>
</dependencies>

3.编写spark wordcount

import org.apache.spark.{SparkConf, SparkContext}object WordCountWithScala {def main(args: Array[String]): Unit = {//本地调试val conf = new SparkConf().setMaster("local[2]").setAppName("master")val sc = new SparkContext(conf)sc.textFile("sparktest/spark_demo/words.text").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)//.saveAsTextFile("hdfs://hadoop01:9000/out").foreach(println)sc.stop}
}

tips:运行相关配置

文件默认路径是当前父项目根目录

本地运行需要winutils文件支持,否则会报错

Spark开发——Spark简介及入门相关推荐

  1. Spark开发实用技巧-从入门到爱不释手

    前言 Spark作为大数据处理神器,对大数据处理能力我们比较熟知,经常有小伙伴问我怎么去入手开发Spark的程序,很多人因为所谓的没有大数据环境问题导致入门到放弃,深有感触,把一些心得分享出来,希望会 ...

  2. Spark开发-Spark内存溢出原因以及解决方式

    Dpark内存溢出 Spark内存溢出 堆内内存溢出 堆外内存溢出 堆内内存溢出 java.lang.OutOfMemoryError: GC overhead limit execeeded jav ...

  3. 大规模数据处理Apache Spark开发

    大规模数据处理Apache Spark开发 Spark是用于大规模数据处理的统一分析引擎.它提供了Scala.Java.Python和R的高级api,以及一个支持用于数据分析的通用计算图的优化引擎.它 ...

  4. Spark入门实战系列--1.Spark及其生态圈简介

    1.简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架.Spark在2013年 ...

  5. Spark 开发入门

    文章目录 Spark是什么 DAG有向无环图 spark环境搭建 Spark开发 pyspark使用 python Spark初始化 创建RDD 数据的读取和保存 文本文件 Json文件 RDD的转换 ...

  6. 大数据spark开发入门教程

    大数据是互联网发展的方向,大数据人才是未来的高薪贵族.随着大数据人才的供不应求,大数据人才的薪资待遇也在不断提升.如果你也想进入大数据行业,也想学习大数据技术,大数据讲师认为,可以先从spark技术开 ...

  7. sparkstreaming监听hdfs目录如何终止_四十六、Spark Streaming简介及入门

    1.什么是Spark Streaming Spark Streaming是基于Spark Core之间的实时计算框架,可以从很多数据源消费数据并对数据进行处理.它是Spark核心API的一个扩展与封装 ...

  8. Spark之 spark简介、生态圈详解

    来源:http://www.cnblogs.com/shishanyuan/p/4700615.html 1.简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorith ...

  9. BigData之Spark:Spark计算引擎的简介、下载、经典案例之详细攻略

    BigData之Spark:Spark计算引擎的简介.下载.经典案例之详细攻略 目录 Spark的简介 1.Spark三大特点 Spark的下载 Spark的经典案例 1.Word Count 2.P ...

最新文章

  1. 在Ubuntu 16.04.6 LTS上升级Go到最新版1.12.5实录
  2. 【HTML】框架集(Framesets)
  3. [HNOI2002]彩票
  4. 通过ip快速定位问题主机连接的交换机
  5. Oracle EBS PO 接受入库
  6. 网易云信携手LiveVideoStackCon 2019,探索多媒体技术新世界
  7. Spring bean 装配
  8. word List 17
  9. 用行为树的方式思考问题
  10. Python检查特定值是否包含在列表中
  11. 计算机病毒中毒该怎么办,电脑中毒后该怎么杀毒呢?
  12. python表达式3and not5的值_表达式 3 and 5 的值为_学小易找答案
  13. 天池比赛TASK3打卡
  14. 沟通和编程一样,也是一门艺术系列6(艺术境界)
  15. 快来新宇宙:物联网与元宇宙融合发展
  16. 项目经理成长的五个阶段
  17. (1)JfreeChart之柱状图
  18. maven的wagon-maven-plugin插件详解
  19. 错过一个订单后,吐槽下自己(顺便分享下书单),剧终版
  20. 基于springboot的图书借阅管理系统

热门文章

  1. 计算机控制 英文 论文,锅炉的计算机控制业论文外文翻译.docx
  2. brew官网安装方法过慢的解决办法
  3. Buffalo WHR-G300N V2刷DD-WRT+Wiwiz全过程记录
  4. 图像识别技术——验证码识别
  5. 计算机网络第一个病毒,世界上第一个计算机病毒:C-BRAIN,病毒始祖(吃硬盘空间)...
  6. 笔记本机械硬盘性能深入研究
  7. 读侯俊杰的《深入浅出MFC》小记
  8. numactl mysql_mysqld_multi多实例及numactl资源绑定
  9. 用CodeViser ARM 仿真器广泛用于手机软硬件调试
  10. 【开源】DA14580-SPI教程——疯壳·ARM双处理器开发板系列