val df2 = spark.table("dwd.fact_order_master")
.withColumn("year", lit(date_format(from_unixtime(unix_timestamp(col("etl_date"), "yyyyMMdd"), "yyyy-MM-dd"), "yyyy")).cast("int"))
.withColumn("month", lit(date_format(from_unixtime(unix_timestamp(col("etl_date"), "yyyyMMdd"), "yyyy-MM-dd"), "MM")).cast("int"))
.groupBy(col("province").alias("provincename"), col("year"), col("month"))
.agg(expr("percentile(order_money,array(0.5))[0]").cast("double").alias("provincemidconsumption"))
取中位数转换为double
.agg(expr("percentile(order_money,array(0.5))[0]").cast("double").alias("provincemidconsumption"))