将数据帧保存到配置单元(如果类型为date,如何将df模式类型更改为字符串,我不想硬编码列名)



我想将pandas df转换为spark df,并将其保存到hive中。

#create spark df from panda dataframe
df = self.ss.createDataFrame(dataframe)
df.createOrReplaceTempView("table_Template") 
self.ss.sql("create table IF NOT EXISTS database."+ table_name +" STORED AS PARQUET as select * from table_Template") 

错误:pyspark.sql.utils.AnalysisException:'org.apache.hadoop.hive.ql.metadata.HiveException:java.lang.UnsupportedOperationException:Parquet不支持日期。参见HIVE-6384

尝试以下代码,将所有date类型的列强制转换为string

df.select(map(lambda field: F.col(field.name).cast("string") if field.dataType.typeName == "date" else F.col(field.name), df.schema)).show()

相关内容

  • 没有找到相关文章

最新更新