1、Spark是什么

  Spark是一个用来实现快速而通用的集群计算的平台。

2、Spark是一个大一统的软件栈

  Spark项目包含多个紧密集成的组件。首先Spark的核心是一个对由很多计算任务组成的、运行在多个工作机器或者是一个计算集群上的应用进行调度、分发以及监控的计算引擎。

  Spark的个组件如下图所示:

  

  • Apache Spark 也就是Spark的核心部分,也称为Spark Core,这个部分实现了Spark的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互模块,还包含了对弹性分布式数据集(RDD)的API定义。
  • Spark SQL是Spark用来操作结构化数据的程序包。通过Spark SQL,我们可以使用SQL或者HQL来查询数据。
  • Spark Streaming 是Spark提供的对实时数据进行流式计算的组件。比如生产环境中的网页服务器日志,或是网络服务中用户提交的状态更新组成的消息队列,都是消息流
  • MLlib这是一个包含了常见机器学习功能的程序库,包括分类、回归、聚类、协同过滤等
  • GraphX是用来操作图的程序库,可以进行并行的图计算。

3、Spark的核心概念

  从上层来看,每个Spark应用都由一个驱动器程序来发起集群上的并行操作。驱动器程序包含应用的main函数,并且定义了集群上的分布式数据集,还对这些分布式数据集应用了相关操作。

  驱动器程序通过一个SparkContext对象来访问Spark。这个对象代表对计算集群的一个连接,当Spark shell启动时已自动创建了一个SparkContext对象。

val textFile = sc.textFile("hdfs://...")
val counts = textFile.flatMap(line => line.split(" ")).map(word => (word, 1)).reduceByKey(_ + _)
counts.saveAsTextFile("hdfs://...")

  这里的sc变量,就是自动创建的SparkContext对象。通过它就可以来创建RDD,调用sc.textFile()来创建一个代表文件各行文本的RDD。

  通过RDD我们就可以在这些行上进行各种操作,通常驱动器程序要管理多个执行器节点。比如,如果我们在集群上运行输出操作,那么不同的节点就会统计文件不同部分的行数。

4、初始化SparlContext

  一旦完成了应用与Spark的连接,接下来就需要在程序中导入Spark包并创建SparkContext.我们可以通过先创建一个SparkConf对象来配置应用,然后基于这个SparkConf来创建一个Sparktext对象。

val conf = new SparkConf().setAppName("wordcount").setMaster("local")
val sc = new SparkContext(conf)

  这里创建了SparkContext的最基础的方法,只需要传递两个参数:

  • 应用名:这里使用的是"wordcount ",当连接到一个集群的时候,这个值可以帮助我们在集群管理器的用户界面中找到你的应用,这是这个程序运行后的集群管理器的截图

  • 集群URL:告诉Spark如何连接到集群上,这里使用的是local,这个特殊的值可以让Spark运行在单机单线程上而无需连接到集群上

转载于:https://www.cnblogs.com/xxbbtt/p/8425376.html

Spark1——介绍相关推荐

  1. spark1.x和2.xIterable和iterator兼容问题

    1. spark 1.x 升级到spark 2.x 对于普通的spark来说,变动不大 : 1 举一个最简单的实例:spark1.x public static JavaRDD<String&g ...

  2. SparkSQL(Spark-1.4.0)实战系列(一)——DataFrames基础

    主要内容 本教程中所有例子跑在Spark-1.4.0集群上 DataFrames简介 DataFrame基本操作实战 DataFrames简介 本文部分内容译自https://databricks.c ...

  3. Spark1.3.0安装

    之前在用Hadoop写ML算法的时候就隐约感觉Hadoop实在是不适合ML这些比较复杂的算法.记得当时写完kmeans后,发现每个job完成后都需要将结果放在HDFS中,然后下次迭代的时候再从文件中读 ...

  4. spark sql基本使用方法介绍(转载)

    spark sql基本使用方法介绍 Spark中可以通过spark sql 直接查询Hive或impala中的数据, 一.启动方法 /data/spark-1.4.0-bin-cdh4/bin/spa ...

  5. Scala _01介绍安装使用

    Scala介绍 1.Spark1.6中使用的是Scala2.10.Spark2.0版本以上使用是Scala2.11版本. 2.Scala官网6个特征. Java和scala可以混编 类型推测(自动推测 ...

  6. spark1.3.1使用基础教程

    spark可以通过交互式命令行及编程两种方式来进行调用: 前者支持scala与python 后者支持scala.python与java 本文参考https://spark.apache.org/doc ...

  7. 安装spark1.3.1单机环境

    本文介绍安装spark单机环境的方法,可用于测试及开发.主要分成以下4部分: (1)环境准备 (2)安装scala (3)安装spark (4)验证安装情况 1.环境准备 (1)配套软件版本要求:Sp ...

  8. Apache Spark1.1.0部署与开发环境搭建 - Mark Lin

    Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...

  9. 原理系列:Spark1.x 生态圈一览

    Spark生态圈,也就是BDAS(伯克利数据分析栈),是伯克利APMLab实验室精心打造的,力图在算法(Algorithms).机器(Machines).人(People)之间通过大规模集成,来展现大 ...

最新文章

  1. 一篇让你搞懂 Nginx
  2. 机器学习并不“万能”
  3. 使用STC8G1K08制作调频接收模块TEA5767配置电路
  4. 学计算机怎样才能考上大学,中国式家长考清华北大方法 重点大学怎么才能考上...
  5. POJ - 2449 Remmarguts' Date(第k短路:spfa+A*)
  6. Python Threading 多线程编程
  7. 由奥迪车灯想到的前端动画
  8. 杂谈3之English
  9. java中读取logback日志文件_java 中使用logback日志,并实现日志按天分类压缩保存。...
  10. 景安mysql主机_景安虚拟主机使用教程
  11. 之江天枢正式开源!一文详解天枢核心优势
  12. Android 异步任务
  13. ubuntu系统下vscode字体显示异常(别扭)
  14. 4-5. do...while循环
  15. Vue文字走马灯(文字轮播)组件
  16. DDIA - 读书笔记
  17. 论文解读(GMI)《Graph Representation Learning via Graphical Mutual Information Maximization》
  18. cs224w(图机器学习)2021冬季课程学习笔记12 Knowledge Graph Embeddings
  19. pycharm中导入pyQt无法使用
  20. market.Benchmarking: (models.W042) Auto-created primary key used when not defining a primary key typ

热门文章

  1. 位运算和进制转换,反码补码
  2. su联合推拉插件_[实习小记一一SU建模]
  3. gitpython git diff_Python全栈开发-git常用命令
  4. 【安卓开发 】Android初级开发(十二)Android向系统日历中添加事件
  5. Objective-C学习中对 C语言的扩展
  6. 粒子群算法组卷_粒子群(PSO)算法概念及代码实现
  7. .sql文件如何执行_mysql:一条SQL查询语句是如何执行的?
  8. linux ps 代码,Linux ps命令详解(示例代码)
  9. 常见光纤收发器组网方式介绍
  10. 3G-SDI光端机产品技术参数规格及产品应用领域