spark的配置单元外部表中的分区列

mm5n2pyu  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(266)

从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格式。

qacovj5a

qacovj5a1#

%2F 是百分比编码 / . 这意味着数据正处于 30/07/2018 格式。您可以:
解析它 to_date 使用指定的格式。
使用所需格式手动设置列的格式。

相关问题