Module 03 · Apache Spark
Summary and Highlights: Introduction to Apache Spark摘要和重点:Apache Spark 导论
In this lesson, you learned that:
在本课中,你学习了:
- Spark is an open-source, in-memory application framework for distributed data processing and iterative analysis on massive data volumes. Both distributed systems and Apache Spark are inherently scalable and fault-tolerant.
Spark 是一个开源的内存应用程序框架,用于分布式数据处理和海量数据迭代分析。分布式系统与 Apache Spark 本质上都具有可扩展性和容错性。 - Apache Spark solves the problems encountered with MapReduce by keeping a substantial portion of the data required in memory, avoiding expensive and time-consuming disk I/O.
Apache Spark 通过将所需的大部分数据保留在内存中,解决了 MapReduce 遇到的问题,避免了昂贵且耗时的磁盘 I/O。 - Functional programming follows a declarative programming model that emphasizes what instead of how-to and uses expressions.
函数式编程遵循一种声明式编程模型,该模型强调"做什么"而不是"怎么做",并使用表达式。 - Lambda functions or operators are anonymous functions that enable functional programming. Spark parallelizes computations using lambda calculus, and all functional Spark programs are inherently parallel.
Lambda 函数或操作符是无名函数,它们使函数式编程成为可能。Spark 使用 Lambda 演算并行化计算,所有函数式 Spark 程序本质上都是并行的。 - Resilient distributed datasets, or RDDs, are Spark’s primary data abstraction consisting of a fault-tolerant collection of elements partitioned across the cluster’s nodes, capable of accepting parallel operations.
弹性分布式数据集,或称为 RDD,是 Spark 的主要数据抽象,它由一个跨集群节点分区的、具有容错能力的元素集合组成,能够接受并行操作。 - You can create an RDD using an external or local Hadoop-supported file, from a collection, or from another RDD. RDDs are immutable and always recoverable, providing resilience in Apache Spark. RDDs can persist or cache datasets in memory across operations, which speeds up iterative operations in Spark.
你可以使用外部或本地 Hadoop 支持的文件、集合或另一个 RDD 来创建一个 RDD。RDD 是不可变的,并且始终可以恢复,在 Apache Spark 中提供弹性。RDD 可以在操作之间持久化或缓存数据集在内存中,这加速了 Spark 中的迭代操作。 - Apache Spark architecture consists of components data, compute input, and management. The fault-tolerant Spark Core base engine performs large-scale big data–worthy parallel and distributed data processing jobs, manages memory, schedules tasks, and houses APIs that define RDDs.
Apache Spark 架构由数据组件、计算输入和管理组成。容错的 Spark Core 基础引擎执行大规模适合大数据的并行和分布式数据处理任务,管理内存,调度任务,并包含定义 RDD 的 API。 - Spark SQL provides a programming abstraction called DataFrames and can also act as a distributed SQL query engine.
Spark SQL 提供了一种称为 DataFrames 的编程抽象,并且也可以作为分布式 SQL 查询引擎。 - Spark DataFrames are conceptually equivalent to a table in a relational database or a data frame in R or Python, but with richer optimizations.
Spark DataFrames 在概念上等效于关系数据库中的表或 R 或 Python 中的数据框,但具有更丰富的优化。