Spark Dataframe 程序设计练习题及 Python 解答

以下列出了 5 道关于 Spark Dataframe 的程序设计练习题,并提供了 Python 代码示例。这些练习题涵盖了数据读取、排序、过滤、合并和分组聚合等常见操作,可以帮助你更好地理解和使用 Spark Dataframe。

1. 将一个 CSV 文件读入一个 Spark Dataframe,然后将其中的某一列按照字母顺序排序并输出到控制台。

from pyspark.sql.functions import col

# 读取 CSV 文件
df = spark.read.format('csv').option('header', 'true').load('file.csv')

# 按照字母顺序排序
sorted_df = df.orderBy(col('column_name').asc())

# 输出到控制台
sorted_df.select('column_name').show()

2. 将一个 JSON 文件读入一个 Spark Dataframe,然后将其中的某一列的值除以 2 并输出到一个新的 JSON 文件。

# 读取 JSON 文件
df = spark.read.json('file.json')

# 将某一列的值除以 2
new_df = df.withColumn('new_column', col('column_name') / 2)

# 输出到新的 JSON 文件
new_df.write.format('json').save('new_file.json')

3. 将一个 Parquet 文件读入一个 Spark Dataframe,然后将其中的某一列的值大于等于 10 的行删除并输出到控制台。

# 读取 Parquet 文件
df = spark.read.parquet('file.parquet')

# 删除某一列的值大于等于 10 的行
filtered_df = df.filter(col('column_name') < 10)

# 输出到控制台
filtered_df.show()

4. 将两个 CSV 文件读入两个 Spark Dataframe,然后将它们合并成一个新的 Dataframe 并输出到控制台。

# 读取第一个 CSV 文件
df1 = spark.read.format('csv').option('header', 'true').load('file1.csv')

# 读取第二个 CSV 文件
df2 = spark.read.format('csv').option('header', 'true').load('file2.csv')

# 合并成一个新的 Dataframe
merged_df = df1.union(df2)

# 输出到控制台
merged_df.show()

5. 将一个 CSV 文件读入一个 Spark Dataframe,然后将其中的某一列的值按照分组后的平均值进行替换并输出到控制台。

from pyspark.sql.functions import mean

# 读取 CSV 文件
df = spark.read.format('csv').option('header', 'true').load('file.csv')

# 按照某一列进行分组并求平均值
grouped_df = df.groupBy('group_column').agg(mean('column_name').alias('mean_column'))

# 将某一列的值按照分组后的平均值进行替换
replaced_df = df.join(grouped_df, 'group_column').withColumn('column_name', col('mean_column'))

# 输出到控制台
replaced_df.show()

注意: 以上代码示例中,你需要根据实际情况修改文件路径、列名等参数。

希望这些练习题和代码示例能够帮助你更好地学习和使用 Spark Dataframe!

Spark Dataframe 程序设计练习题及 Python 解答

原文地址: https://www.cveoy.top/t/topic/lay7 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录