在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