我是Scala的新手。我需要从csv文件中读取数据,该文件有两个名为Name和Marks的标题列,基于Marks列我想在第3列显示结果;通过或失败(< 35 fail,> 35pass)。
数据如下所示:
Name,Marks
x,10
y,50
z,80
结果应该是:
Name Marks Result
x 10 Fail
Y 50 Pass
z 80 Pass
答案 0 :(得分:0)
您可以使用标题阅读csv文件,然后使用when
和otherwise
添加一列,根据标记提供不同的值。
import spark.implicits._
val df = spark.read.option("header", true).csv("/path/to/csv") // read csv
val df2 = df.withColumn("Result", when($"Marks" < 35, "Fail").otherwise("Pass"))
答案 1 :(得分:-1)
import org.apache.spark.sql.functions._
import org.apache.spark.sql.SparkSession
val spark = SparkSession.builder.master("local")
.appName("").config("spark.sql.warehouse.dir", "C:/temp").getOrCreate()
val df = spark.read.option("header",true).csv("file path")
val resul = df.withColumn("Result", when(col("Marks").cast("Int")>=35, "PASS").otherwise("FAIL"))