PySpark
pyspark 是 Apache Spark 的 Python 接口,它使用 Python 在分布式环境中实现大规模数据处理和实时分析。
有关如何在 Hub 上使用 PySpark 分析数据集的详细指南,请查看此 博客。
要开始使用 PySpark 中的 Parquet 文件,您首先需要将文件添加到 Spark 上下文中。以下是如何读取单个 Parquet 文件的示例
from pyspark import SparkFiles, SparkContext, SparkFiles
from pyspark.sql import SparkSession
# Initialize a Spark session
spark = SparkSession.builder.appName("WineReviews").getOrCreate()
# Add the Parquet file to the Spark context
spark.sparkContext.addFile("https://huggingface.co/api/datasets/james-burton/wine_reviews/parquet/default/train/0.parquet")
# Read the Parquet file into a DataFrame
df = spark.read.parquet(SparkFiles.get("0.parquet"))
如果您的数据集被分成多个 Parquet 文件,则需要将每个文件单独添加到 Spark 上下文中。以下是操作方法
import requests
# Fetch the URLs of the Parquet files for the train split
r = requests.get('https://huggingface.co/api/datasets/james-burton/wine_reviews/parquet')
train_parquet_files = r.json()['default']['train']
# Add each Parquet file to the Spark context
for url in train_parquet_files:
spark.sparkContext.addFile(url)
# Read all Parquet files into a single DataFrame
df = spark.read.parquet(SparkFiles.getRootDirectory() + "/*.parquet")
将数据加载到 PySpark DataFrame 后,您可以执行各种操作来探索和分析数据
print(f"Shape of the dataset: {df.count()}, {len(df.columns)}")
# Display first 10 rows
df.show(n=10)
# Get a statistical summary of the data
df.describe().show()
# Print the schema of the DataFrame
df.printSchema()