spark创建dataframe(spark创建临时表)
## Spark 创建 DataFrame
简介
Apache Spark DataFrame 是一个分布式数据集,它提供了一种类似于 Pandas DataFrame 的结构化数据操作。它可以通过多种方式创建,包括从文件、数据库和 RDD(弹性分布式数据集)。### 从文件创建 DataFrame
CSV 文件
```scala val df = spark.read.csv("path/to/file.csv") ```
JSON 文件
```scala val df = spark.read.json("path/to/file.json") ```
Parquet 文件
```scala val df = spark.read.parquet("path/to/file.parquet") ```### 从数据库创建 DataFrame
JDBC
```scala val df = spark.read.format("jdbc").option("url", "jdbc:postgresql://localhost:5432/database").option("dbtable", "table_name").option("user", "username").option("password", "password").load() ```
Hive
```scala val df = spark.read.format("hive").option("table", "table_name").load() ```### 从 RDD 创建 DataFrame```scala val rdd = spark.sparkContext.parallelize(Seq(("name", "John"), ("age", 30))) val df = spark.createDataFrame(rdd).toDF("name", "age") ```### DataFrame 的属性-
元数据:
包含表的架构信息,例如列名、数据类型和分区信息。 -
分区:
将数据拆分为更小的块,以提高并行处理效率。 -
模式:
指定DataFrame中列的名称和类型。 -
数据:
实际的数据值。### DataFrame 的操作创建 DataFrame 后,可以使用多种操作对其进行操作,包括:-
选择:
过滤和选择DataFrame中的行和列。 -
聚合:
在数据上执行聚合操作(例如计数、求和、平均值)。 -
连接:
将两个或多个DataFrame连接起来。 -
转换:
转换DataFrame的结构或数据类型。 -
写入:
将DataFrame写入文件、数据库或其他数据源。