Spark Data Frame列columnのタイプを変更する方法


次の例では、最初のjsonファイルによって生成されたdfのage列がLongタイプであり、他のタイプに変更される.もちろん次の2つの方法だけではありませんが、これは最も簡単な2つだと思います.
val spark = SparkSession.builder().master("local").appName("DataFrame API").getOrCreate()

//      spark   example         ,  DataFrame
val people = spark.read.format("json").load("data/people.json")
people.show()
people.printSchema()

val p = people.selectExpr("cast(age as string) age_toString","name")
p.printSchema()

import spark.implicits._ //          , RDD DataFrame  
import org.apache.spark.sql.types.DataTypes
people withColumn("age", $"age".cast(DataTypes.IntegerType))    //DataTypes        ,      
people.printSchema()

参考これ:How to change column types in Spark SQL’s DataFrame?
https://www.jianshu.com/p/0634527f3cce