出5道关于Spark Dataframe相关的几道程序设计题并给出python答案
- 将一个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()
- 将一个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")
- 将一个Parquet文件读入一个Spark Dataframe,然后将其中的某一列的值大于等于10的行删除并输出到控制台。
# 读取Parquet文件
df = spark.read.parquet("file.parquet")
# 删除某一列的值大于等于10的行
filtered_df = df.filter(col("column_name") < 10)
# 输出到控制台
filtered_df.show()
- 将两个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()
- 将一个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()
``
原文地址: http://www.cveoy.top/t/topic/fQXQ 著作权归作者所有。请勿转载和采集!