需要使用scala将Azure中的月份名映射为月份数。我有列名周期,它有类似月份名称的数据(如一月、二月、三月、.、11月、12月),我想用月份号(比如0102.03,...,11,12)替换这个月名。结果应类似于一月、二月、三月、.、11月、12月的,以0.0 0 2,03,...,11,12代替。
"Jan" -> 01,
"Feb" -> 02,
"Mar" -> 03,
"Apr" -> 04,
"May" -> 05,
"Jun" -> 06,
"Jul" -> 07,
"Aug" -> 08,
"Sep" -> 09,
"Oct" -> 10,
"Nov" -> 11,
"Dec" -> 12我是scala和azure databricks的新手。我尝试了映射方法,但没有得到想要的解决方案。在这里输入图像描述
发布于 2022-11-19 09:49:11
我有一个名为month_in_words列的dataframe,如下所示:

val monthNumber = Map(
"Jan" -> "01",
"Feb" -> "02",
"Mar" -> "03",
"Apr" -> "04",
"May" -> "05",
"Jun" -> "06",
"Jul" -> "07",
"Aug" -> "08",
"Sep" -> "09",
"Oct" -> "10",
"Nov" -> "11",
"Dec" -> "12"
)var final_df = df.rdd.map(f => {
val number = monthNumber(f.getString(0))
(f.getString(0),number)
}).toDF("month_in_words","month_in_number")
//display(df)

var final_df = df.rdd.map(f => monthNumber(f.getString(0))).toDF("month_in_number")
//display(final_df)

https://stackoverflow.com/questions/74493973
复制相似问题