从spark创建带有分区的外部表
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.SaveMode
val spark = SparkSession.builder().master("local[*]").appName("splitInput").enableHiveSupport().getOrCreate()
val sparkDf = spark.read.option("header","true").option("inferSchema","true").csv("input/candidate/event=ABCD/CandidateScheduleData_3007_2018.csv")
var newDf = sparkDf
for(col <- sparkDf.columns){ newDf = newDf.withColumnRenamed(col,col.replaceAll("\\s", "_")) }
newDf.write.mode(SaveMode.Overwrite).option("path","/output/candidate/event=ABCD/").partitionBy("CenterCode","ExamDate").saveAsTable("abc.candidatelist")
一切正常,除了隔板柱 ExamDate
格式创建为
ExamDate=30%2F07%2F2018 instead of ExamDate=30-07-2018
如何更换 %2F
与 -
以examdate格式。
1条答案
按热度按时间qacovj5a1#
%2F
是百分比编码/
. 这意味着数据正处于30/07/2018
格式。您可以:解析它
to_date
使用指定的格式。使用所需格式手动设置列的格式。