我正在尝试从ORC文件读取后保存spark数据帧并添加两个新列,最后尝试将其保存到具有分区和存储桶功能的配置单元表中。
使用Spark 2.3(因为此版本同时提供分区和存储桶功能)。
df_orc_data = spark.read.format("orc").option("delimiter","|").option("header", "true").option("inferschema", "true").load(filtered_path)
df_fil_ts_data = df_orc_data.withColumn("START_TS", lit(process_time).cast("timestamp"))
daily = (datetime.datetime.utcnow().strftime('%Y-%m-%d'))
df_filtered_data = df_fil_ts_data.withColumn("DAYPART",lit(daily).cast("string")
hour = (datetime.datetime.utcnow().strftime('%H'))
df_filtered = df_filtered_data.withColumn("HRS",lit(hour).cast("string"))
df_filtered.write.partitionBy("DAYPART").bucketBy(24,"HRS").\
sortBy("HRS").mode("append").orc('/user/umar/filtered').\
saveAsTable("default.FILTERED")
错误:
“'保存'目前不支持存储。
正在寻求建议。