【组件】大数据开发常考题之介绍一下 Spark

  Spark 是大数据开发的必会技能。面试中经常被问到的问题就是 Spark 是什么,或者请介绍一下 Spark,今天的文章主要对这个问题做出讲解。很多人的回答都不够准确,这个问题最为准确的描述可以在官网寻找。

1.整体介绍

打开官网可以看到一行醒目的表与:

Unified engine for large-scale data analytics

翻译一下就是:用于大规模数据分析的统一引擎。继续往下看:

What is Apache Spark™?
Apache Spark™ is a multi-language engine for executing data engineering, data science, and machine learning on single-node machines or clusters.

这里对我们的问题做出了回答:Apache Spark™ 是一种多语言引擎,用于在单节点机器或集群上执行数据工程、数据科学和机器学习。

归纳一下要点:Spark 是一个计算引擎,用于大规模数据的计算,支持多种编程语言。

2.特征

上面给出的是一个总体的描述,对于更加具体的一些特征的介绍,官网也做出了回答:

Key features
Simple. Fast. Scalable. Unified.

Spark的特征用四个词语概括就是:简单、速度快、可扩展、统一性。更加具体的描述官网也给出了说明:

Batch/streaming data

Unify the processing of your data in batches and real-time streaming, using your preferred language: Python, SQL, Scala, Java or R.

批处理/流处理:可以使用 Python、SQL、Scala、Java 或 R,通过批量处理和实时流式处理的方式统一处理数据。

SQL analytics

Execute fast, distributed ANSI SQL queries for dashboarding and ad-hoc reporting. Runs faster than most data warehouses.

SQL 分析:为仪表板和临时报告执行快速、分布式的 ANSI SQL 查询。比大多数数据仓库运行得更快。

Data science at scale

Perform Exploratory Data Analysis (EDA) on petabyte-scale data without having to resort to downsampling

大规模数据科学:对 PB 级数进行探索性数据分析 (EDA),而无需进行下采样

Machine learning

Train machine learning algorithms on a laptop and use the same code to scale to fault-tolerant clusters of thousands of machines.

机器学习:在笔记本电脑上训练机器学习算法,并使用相同的代码扩展到数千台机器的容错集群。

3.生态

Apache Spark™ integrates with your favorite frameworks, helping to scale them to thousands of machines.

Data science and Machine learning

SQL analytics and BI

Storage and Infrastructure

Spark 整合了多种框架,能够将这些框架扩展到数千台机器。这些框架包括:

  • 数据科学和机器学习:scikit-learn,pandas,TensorFlow,PyTorch,mlflow,R
  • SQL 分析和 BI:Superset,Power BI,Looker,redash,tableau,dbt
  • 存储和基础设施:Elasticsearch,MongoDB,Kafka,delta lake,kubernetes,Airflow,Parquet,SQL Server,cassandra,orc
4.核心模块

在这里插入图片描述

Spark Core:提供了 Spark 最基础与最核心的功能,Spark 其他的功能如:Spark SQL,Spark Streaming,GraphX,MLlib 都是在Spark Core 的基础上进行扩展的。

Spark SQL:Spark 用来操作结构化数据的组件。通过 Spark SQL,用户可以使用 SQL 或者 Apache Hive 版本的 SQL 方言(HQL)来查询数据。

Spark Streaming:Spark 平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的 API。

Spark MLlib:MLlib 是 Spark 提供的一个机器学习算法库。MLlib 不仅提供了模型评估、数据导入等额外的功能,还提供了一些更底层的机器学习原语。

Spark GraphX:GraphX 是 Spark 面向图计算提供的框架与算法库。

5.总结

文章的最后对 Spark 是什么这个问题做一个总结:

  • Spark是一种基于内存的快速、通用、可扩展的大数据分析计算引擎。
  • Spark Core 中提供了 Spark 最基础与最核心的功能。
  • Spark SQL 是 Spark 用来操作结构化数据的组件。通过 Spark SQL,用户可以使用 SQL 或者 Apache Hive 版本的 SQL 方言(HQL)来查询数据。
  • Spark Streaming 是 Spark 平台上针对实时数据进行流式计算的组件,提供了丰富的处理数据流的 API。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值