我试图保存一个sparkDataframe后,从orc文件读取并添加两个新的列,最后试图保存到hive表与分区和bucketing功能。
使用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")
错误:
“'save'现在不支持bucketing;”
寻求建议。
暂无答案!
目前还没有任何答案,快来回答吧!