1.什么是spark?

spark是一个基于内存的,分布式的,大数据的计算框架,可以解决各种大数据领域的计算问题,提供了一站式的服务

Spark2009年诞生于伯克利大学的AMPLab实验室

2010年正式开源了Spark项目

2013年Spark成为Apache下的项目

2014年飞速发展,成为Apache的顶级项目

2015年在国内兴起,代替mr,hive,storm等

2.SparkCore :spark是用来取代Hadoop的?

这种说法是不对的,spark由于只能做计算,所以取代掉MapReduce是没有问题的,但是基于spark无法存储数据,所以其数据的存储还是要依赖于hdfs,资源调度可以依赖于yarn,亦可以依赖于其他。

3.spark的功能?

①sparkCore 离线计算

②sparkSQL 交互式查询

③sparkStreaming 实时的流式计算

④sparkGraphx 图形计算

⑤spark mllib 机器学习 人工智能 其核心是算法

4.spark的特点及解释?

spark的特点有:

①一站式:就是说spark可以用一个技术堆栈就可以解决大数据领域的所有的计算问题

②基于内存:这个特点也是spark的运行速度比Mr的速度快的原因,因为spark是基于内存的,内存的

读写的速度要大大的超过磁盘,但是,有一些操作也是无法避免的,spark也有shuffle,所以说最后的

结果也要落地,落地就i需要走磁盘。另一方面的原因就是spark是迭代式的计算框架,内部又有很多的

优化手段,DAG,切分STAGE,这一套机制可以最大限度的优化计算的性能

5.sparkSQL和hive的关系?

hive 首先来说是一个数据仓库,里面放了很多的数据,其次hive还可以通过sql做一些数据的离线批处理,

运行的是MapReduce。

spark SQL 肯定不可以用来做数据仓库,但spark SQL也是通过写sql的方式,做数据的离线计算,底层用的

是RDD。可以直接操作hive

6.sparkStreaming和strom的关系?

strom有很多的有点,比较老了,如果说是纯粹的实时(全部都是实时的业务),现在有一个更加优秀的解决方案

:flink,在一些绝大部分的场景下,sparkStreaming是可以取代掉strom的

实时性,容错都比sparkstreamming优秀

和sparkstreaming相比之下不足的地方:

吞吐量不如sparkstreaming,后者可以方便的和spark SQL ,sparkCore,sparkMLlib无缝的结合

7.spark开发语言的选择?

现如今关于spark的主流语言是scala,如果说是单纯的大数据项目,scala较其他语言相比更为合适一些,但是也有不足的地方:会scala 的人太少,第二点就是由于Scala和第三方的架构整合起来困难。

Java:如今最最主流的编程语言,整合第三方架构的时候也比较简单,如果用java来写spark的话,更为适合写一些比较复杂的大数据项目。

两者的相同之处在于:java可以把代码实现,scala也可以把代码实现

现在比较火的编程语言python,也可以用来开发spark,不过略有不同于其他两种语言的是,python更倾向于机器学习,即(sparkMLlib),因为python的库特别多,而机器学习的算法库也有很多,所以python更多的时间用于机器学习。

转载本文请和本文作者联系,本文来自博客园一袭白衣一

Spark学习笔记1(初始spark的更多相关文章

  1. Spark学习笔记2(spark所需环境配置

    Spark学习笔记2 配置spark所需环境 1.首先先把本地的maven的压缩包解压到本地文件夹中,安装好本地的maven客户端程序,版本没有什么要求 不需要最新版的maven客户端. 解压完成之后 ...

  2. Spark学习笔记--Linux安装Spark集群详解

    本文主要讲解如何在Linux环境下安装Spark集群,安装之前我们需要Linux已经安装了JDK和Scala,因为Spark集群依赖这些.下面就如何安装Spark进行讲解说明. 一.安装环境 操作系统 ...

  3. Spark学习笔记5:Spark集群架构

    Spark的一大好处就是可以通过增加机器数量并使用集群模式运行,来扩展计算能力.Spark可以在各种各样的集群管理器(Hadoop YARN , Apache Mesos , 还有Spark自带的独立 ...

  4. Spark学习笔记1:Spark概览

    Spark是一个用来实现快速而通用的集群计算的平台. Spark项目包含多个紧密集成的组件.Spark的核心是一个对由很多计算任务组成的,运行在多个工作机器或者是一个计算集群上的应用进行调度,分发以及 ...

  5. Spark学习笔记——构建基于Spark的推荐引擎

    推荐模型 推荐模型的种类分为: 1.基于内容的过滤:基于内容的过滤利用物品的内容或是属性信息以及某些相似度定义,来求出与该物品类似的物品. 2.协同过滤:协同过滤是一种借助众包智慧的途径.它利用大量已 ...

  6. Spark学习笔记6:Spark调优与调试

    1.使用Sparkconf配置Spark 对Spark进行性能调优,通常就是修改Spark应用的运行时配置选项. Spark中最主要的配置机制通过SparkConf类对Spark进行配置,当创建出一个 ...

  7. Spark 学习笔记之 MONGODB SPARK CONNECTOR 插入性能测试

    MONGODB SPARK CONNECTOR 测试数据量: 测试结果: 116万数据通过4个表的join,从SQL Server查出,耗时1分多.MongoSparkConnector插入平均耗时: ...

  8. Spark学习笔记3——RDD(下)

    目录 Spark学习笔记3--RDD(下) 向Spark传递函数 通过匿名内部类 通过具名类传递 通过带参数的 Java 函数类传递 通过 lambda 表达式传递(仅限于 Java 8 及以上) 常 ...

  9. Spark学习笔记1——第一个Spark程序:单词数统计

    Spark学习笔记1--第一个Spark程序:单词数统计 笔记摘抄自 [美] Holden Karau 等著的<Spark快速大数据分析> 添加依赖 通过 Maven 添加 Spark-c ...

  10. Spark学习笔记之SparkRDD

    Spark学习笔记之SparkRDD 一.   基本概念 RDD(resilient distributed datasets)弹性分布式数据集. 来自于两方面 ①   内存集合和外部存储系统 ②   ...

随机推荐

  1. Python-String字符串的相关方法

  2. echart异步刷新图表,详细配置注释

    echarts刷新技巧: echartData.chear(); //当异步改变数据时,配合echartData .setOption(option)才会有动画效果 echartData.resize ...

  3. AJAX结合PHP整理复习

    Ajax主要的功能是实现了浏览器端 异步 访问服务器:通过浏览器的XMLHttpRequest对象发出小部分数据,与服务端进行交互,服务端返回小部分数据,然后更新客户端的部分页面. 下图是一次请求成功 ...

  4. PHP函数register_shutdown_function的使用

    函数简介当PHP程序执行完成后,自动执行register_shutdown_function函数,该函数需要一个参数,用来指定由谁处理这些后续的工作.其中,程序执行完成,分为以下几种情况:第一种:ph ...

  5. BCL和CoreFx的区别

    bcl是.netframework clr 的基础库corefx是.net core clr的基础库

  6. Head First设计模式之抽象工厂模式

    一.定义 给客户端提供一个接口,可以创建多个产品族中的产品对象 ,而且使用抽象工厂模式还要满足一下条件:     1)系统中有多个产品族,而系统一次只可能消费其中一族产品.      2)同属于同一个 ...

  7. Robot Framework学习笔记(一)------环境搭建

    Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. 所需环境 一.安装pyth ...

  8. golang 数组反转

    我做hackerearth上题目记录,具体的题目描述是这样的: Given the size and the elements of array A, print all the elements i ...

  9. 横向、纵向时间轴timeline系列

    近期移动端项目用到了很多时间轴.纵向的.开始可以实现,但是不利于维护.整理下, 以作为备份留存学习参考.子元素的 标签的 :before实现圆点,:after实现边线border纵向时间轴,单一右边内 ...

  10. InnoDB锁

    共享锁和排它锁 InnoDB实现了标准的行级锁,包括两种类型:共享锁(S)和排它锁(X) 一个共享锁(S)允许事务持有这种锁来读取一行 一个排它锁(X)允许事务持有这种锁来修改或删除一行 如果事务T1 ...