以下是一个使用Apache Spark DataFrame读取CSV文件并获取原始行值的示例代码:
import org.apache.spark.sql.{SparkSession, DataFrame}
val spark = SparkSession.builder()
.appName("Spark DataFrame CSV Example")
.getOrCreate()
val csvFilePath = "path/to/csv/file.csv"
// 读取CSV文件并创建DataFrame
val df: DataFrame = spark.read
.format("csv")
.option("header", "true") // 如果CSV文件包含标题行,则设置为true
.option("inferSchema", "true") // 自动推断列的数据类型
.load(csvFilePath)
// 显示DataFrame的内容
df.show()
// 获取原始行值
val rows = df.rdd.collect()
rows.foreach(println)
// 关闭Spark会话
spark.stop()
在上面的代码中,我们首先创建了一个SparkSession
对象。然后,我们指定CSV文件的路径,并使用spark.read
方法读取CSV文件并创建DataFrame。在读取CSV文件时,我们可以使用选项如header
来指定是否包含标题行,以及inferSchema
来自动推断列的数据类型。
接下来,我们使用df.show()
方法显示DataFrame的内容。然后,我们使用df.rdd.collect()
方法将DataFrame转换为RDD,并使用rows.foreach(println)
遍历并打印出每一行的原始值。
最后,我们使用spark.stop()
方法关闭Spark会话。
请确保将示例代码中的"path/to/csv/file.csv"
替换为实际的CSV文件路径。