发布网友 发布时间:2024-12-19 23:41
共1个回答
热心网友 时间:2024-12-20 01:15
一、Spark DataFrame概述
Spark DataFrame在PySpark SQL中提供了一个数据抽象层,它在Spark中表示为分布式的行集合,类似于关系型数据库的表或带有列头的Excel表格。
DataFrame具有以下特点:
创建DataFrame的方式包括:通过pandas dataframe、列表、RDD或数据源如csv、json、parquet、orc、jdbc。
在Spark SQL中使用SparkSession作为起点,可以从现有RDD、Hive表或数据源创建DataFrame。
1.1.1 通过json文件创建DataFrame
注意:多行json文件在创建DataFrame时会报错,应调整为单行json文件。
1.1.2 通过CSV文件创建DataFrame
1.1.3 通过已存在的RDD创建DataFrame
1.1.4 通过hive table创建DataFrame
1.1.5 通过jdbc数据源创建DataFrame
二、Spark SQL实战
使用经典scoot用户下的4张表模拟Spark SQL实战。
2.1 DataFrame的统计信息
生成DataFrame时,会保留统计信息,类似于关系型数据库的统计信息。
2.2 DataFrame的select操作
通过select操作实现对DataFrame部分列的提取。
2.3 DataFrame对列的操作
对列进行别名、新增列、删除列等操作。
2.4 过滤数据
使用filter或where过滤数据。
2.5 简单的聚合操作
常用聚合操作包括平均值、计数、唯一计数、最大值、最小值、求和、唯一值合计、偏态、标准偏差等。
2.6 表连接
实现内连接和外连接,包括右连接。
2.7 排序
实现数据排序。
在Spark SQL中,通过DataFrame提供了一个高效且功能丰富的数据处理方式,简化了数据操作的复杂性,适用于大规模数据集的分析和处理任务。