从数组中提取字段并创建新的数据框列
尝试了.withColumn及其工作正常,但我有20个这样的列,并且想使用UDF
输入:数组
0: 1:07:00:22:30
1: 2:06:30:22:30
2: 3:06:30:22:30
3: 4:06:30:22:30
4: 5:06:30:22:30
5: 6:06:30:22:30
6: 7:07:00:22:30
输入格式 索引:日:营业时间:营业时间:营业时间:营业时间
val sliceTimeString = udf((data: String)=>data.trim().slice(2,13))
val formattedDF = rawDF.withColumn("delivery_hours_monday", sliceTimeString($"deliveryHours".getItem(0))).withColumn("delivery_hours_tuesday", sliceTimeString($"deliveryHours".getItem(1)))
我可以在不同的交付时间内类似地写7行,但是没有优化。
我想定义UDF以便每天设置2列-周一营业时间,周一营业时间,周二营业时间,周二营业时间等
星期一_打开星期一_关闭星期二_打开星期二_关闭 7:00 22:30 06:30 22:30