在Apache Spark中,可以使用spark.sql.parquet
模块来读写Parquet文件
首先,确保在项目的build.sbt
文件中添加了Parquet相关的依赖。对于sbt项目,请在libraryDependencies
部分添加以下内容:
libraryDependencies += "org.apache.spark" %% "spark-parquet" % "3.2.0" % "provided"
对于Maven项目,请在pom.xml
文件中添加以下内容:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-parquet_2.12</artifactId>
<version>3.2.0</version>
<scope>provided</scope>
</dependency>
要读取Parquet文件,首先需要创建一个SparkSession
,然后使用read.parquet()
方法读取文件。例如,假设有一个名为example.parquet
的Parquet文件,可以使用以下代码读取它:
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder()
.appName("Read Parquet File")
.master("local")
.getOrCreate()
val parquetFilePath = "path/to/example.parquet"
val df = spark.read.parquet(parquetFilePath)
df.show()
要将数据帧(DataFrame)写入Parquet文件,可以使用write.parquet()
方法。例如,以下代码将名为df
的数据帧写入名为output.parquet
的文件:
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder()
.appName("Write Parquet File")
.master("local")
.getOrCreate()
val parquetFilePath = "path/to/output.parquet"
df.write.parquet(parquetFilePath)
注意:在读取和写入Parquet文件时,可能需要根据实际数据类型和Parquet文件格式调整代码。此外,还可以使用其他参数来配置读取和写入行为,例如spark.sql.parquet.compression
用于启用压缩。更多选项和详细信息,请参阅官方文档:https://spark.apache.org/docs/latest/api/scala/org/apache/spark/sql/parquet/package.html