今天我开始学习spark基础知识,首先从他的基本概念和理论开始入手:
RDD(Resilient Distributed Dataset):
RDD 是 Spark 提供的一个抽象数据类型,代表一个可以分布式计算的数据集合。它是 Spark 中最基本的数据结构,具有以下特点:
分区(Partition):RDD 可以分成多个分区,每个分区可以在集群中的不同节点上进行计算。
容错性(Resilient):RDD 具有容错性,即在节点发生故障时能够通过血统(lineage)重建丢失的分区。
不可变性(Immutable):RDD 的数据内容不可更改,只能通过转换操作生成新的 RDD。
RDD 支持两种类型的操作:
转换操作(Transformation):对现有的 RDD 进行转换生成新的 RDD,例如 map、filter、reduceByKey 等。
动作操作(Action):触发真正的计算并返回结果,例如 count、collect、saveAsTextFile 等。
DataFrame:
DataFrame 是 Spark SQL 中的概念,它是一种分布式的数据表格,类似于关系数据库中的表。DataFrame 具有以下特点:
列名和类型:DataFrame 中的每一列都有明确的名称和数据类型,方便进行列操作和查询。
支持 SQL 查询:可以使用 SQL 查询语句对 DataFrame 进行查询和分析。
优化器:Spark SQL 使用 Catalyst 优化器优化查询计划,提高查询性能。
DataFrame 可以通过读取外部数据源(如 CSV、JSON、Parquet 等)或通过对已有的 RDD 进行转化而创建。
Spark SQL:
Spark SQL 是 Spark 提供的模块,用于处理结构化数据。它包括了 Spark Core 中的 RDD 和 Spark SQL 中的 DataFrame API 两种接口。Spark SQL 具有以下特点:
支持 SQL 查询:可以直接使用 SQL 语句对数据进行查询和分析。
统一的数据访问:可以同时操作不同来源的数据,如 Hive 表、Parquet 文件、关系数据库等。
优化器:Spark SQL 使用 Catalyst 优化器来优化查询计划,提高查询性能。
Spark SQL 还提供了很多内置函数和语法糖,方便开发人员进行数据处理和分析。
Spark Streaming:
Spark Streaming 是 Spark 提供的流式数据处理引擎,用于处理实时数据流。其工作原理是将连续的数据流按照一定的时间间隔划分为小的批次数据,并将每个批次作为 RDD 进行处理。
Spark Streaming 可以与 Spark Core 中的各种操作和库无缝集成,可以方便地进行实时数据处理和分析。常见的使用场景包括日志分析、实时监控等。
接下来我会开始spark的安装与学习。
标签:19,DataFrame,查询,学习,RDD,寒假,SQL,Spark,优化 From: https://www.cnblogs.com/zjsdbk/p/18031594