Spark 入门系列-简介以及生态

精选30+云产品,助力企业轻松上云!>>> hot3.png

写这篇文章的时候,自己也编写过一段时间的 Spark 流式程序了,但是感觉还是零零散散的,不够系统。这么优秀的一个框架,如果只了解其中一点还是很难满足的,所以,我们第二次相遇了,这一次,好好写下去。


主要包含:

Spark 简介

Spark 的优势

Spark 内部生态

Spark 基础入门书籍推荐


那么,从官网开始。


Spark 简介


打开 Spark 官网,这句特别醒目:Apache Spark™ is a unified analytics engine for large-scale data processing. 直译过来就是 Apache Spark 是一个统一的分析引擎,用于大规模数据处理。它最初于 2009 年在加州大学伯克利分校开发。


Apache Spark是一个用于分布式计算的框架,它从一开始就为低延迟任务和内存数据存储而优化。它是为数不多的并行计算框架之一,它结合了速度、可扩展性、内存处理和容错性,易于编程和灵活、有表现力和强大的API设计。


Spark 入门系列-简介以及生态_第1张图片



几点优势



往下看,是 Spark 几个最明显的优势


1.Speed

 

Spark 入门系列-简介以及生态_第2张图片

如上图,测试逻辑回归计算,Spark 的计算速度大约是 Hadoop 的 100 倍。(画外音:并不是所有场景 Spark 的计算速度是 Hadoop 的 100 倍,如果从磁盘中读数据,速度10倍左右


2.Ease of Use


Spark 本身提供了超过 80 种高级操作算子,我们可以轻松使用 Java/Python/R/SQL编写并行处理程序。在交互窗口中也可以使用,比如 SQL shell 、Python shell、Scala shell 中。


下面的例子是 Spark 的 Python DataFrame  API 使自动模式推断读取 json 文件。


df = spark.read.json("logs.json")
df.where("age > 21")

.select("name.first").show()


3.Generality


Spark 入门系列-简介以及生态_第3张图片

Spark 提供了一些列的类库,包括 SQL、DataFrame、MLlib 、Graphx以及 Spark Streaming 。我们可以在一个应用程序组合使用这些类库,他们是无缝链接的。


4.Run Everywhere

Spark 入门系列-简介以及生态_第4张图片

我们写的 Spark 程序最终都是需要运行的,可以运行 Spark 的地方很多,比如 Hadopp(Yarn)、Mesos、k8s、standalone 或者各种云上。另外,Spark 也可以访问很多数据源,比如 HDFS、Hbase、Hive、Cassandra等等。这些都是内部支持的,不需要额外的引用第三方利库或者自己开发。

Spark 内部生态


Spark 入门系列-简介以及生态_第5张图片

Spark  的内部生态很丰富,下面给大家一一简单介绍。


Spark SQL


许多数据科学家、分析师和一般商业智能用户依赖交互式SQL查询来探索数据。Spark-SQL是一个用于结构化数据处理的Spark模块。它提供了一个称为DataFrames的编程抽象,还可以充当分布式SQL查询引擎。它使未修改的Hadoop Hive 查询在现有的部署和数据上能更快地运行到100倍。它还提供了与Spark生态系统其他部分的强大集成(例如,将SQL查询处理与机器学习集成)。


MLlib


机器学习很快成为挖掘大数据以获得可操作的洞察力的关键部分。MLlib建立在Spark之上,是一个可扩展的机器学习库,它提供了高质量的算法(例如,多次迭代以提高精度)和极高的速度(比MapReduce快100倍)。该库在Java、Scala和Python中可用,作为Spark应用程序的一部分,因此您可以将其包含在完整的工作流中。


GraphX


GraphX是一个建立在Spark之上的图形计算引擎,它使用户能够交互地构建、转换和推理大规模的图形结构数据。它配有一个通用算法库。


Spark Streaming


许多应用程序不仅需要处理和分析批处理数据,而且还需要实时处理和分析新数据流。Spark Streaming运行在Spark之上,支持跨流式数据和历史数据的强大交互和分析应用程序,同时继承Spark的易用性和容错特性。它很容易与各种流行的数据源集成,包括HDFS、Flume、Kafka和Twitter。


Spark Core


Spark Core 是 Spark 平台的底层通用执行引擎,所有其他功能都建立在它之上。它提供了内存计算能力以提供速度,提供了支持多种应用程序的通用执行模型,并提供了Java、Scala和 Python API 以便于开发。


出版的书籍(英文)


Spark 入门系列-简介以及生态_第6张图片


推荐《Spark in action》,如果是零基础入门的话,还是建议选一本中文的书籍,我比较推荐这本《图解Spark:核心技术与案例实战》。基本知识体系梳理好了之后,再把上面那本英文的数看一下,查漏补缺,带着问题求证。最后有时间,过一下官网的文章和博客。


今天先写到这里,后面会慢慢梳理一个完整的知识体系,欢迎关注并与我交流。


(完)


本文分享自微信公众号 - 大数据每日哔哔(bb-bigdata)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

你可能感兴趣的:(大数据,编程语言,java,python,人工智能)