首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将空数据存储到拼花中会导致错误-Spark2.4.4

将空数据存储到拼花中会导致错误-Spark2.4.4
EN

Stack Overflow用户
提问于 2019-11-22 16:48:23
回答 1查看 8.5K关注 0票数 0

我有一段代码,在代码的最后,我写的数据文件。

逻辑是这样的,有时数据可能是空的,因此我得到了下面的错误。

代码语言:javascript
复制
df.write.format("parquet").mode("overwrite").save(somePath)

org.apache.spark.sql.AnalysisException: Parquet data source does not support null data type.;

当我打印"df“模式时,我得到了下面的内容。

代码语言:javascript
复制
df.schema
res2: org.apache.spark.sql.types.StructType = 
StructType(
    StructField(rpt_date_id,IntegerType,true), 
    StructField(rpt_hour_no,ShortType,true), 
    StructField(kpi_id,IntegerType,false), 
    StructField(kpi_scnr_cd,StringType,false), 
    StructField(channel_x_id,IntegerType,false), 
    StructField(brand_id,ShortType,true), 
    StructField(kpi_value,FloatType,false), 
    StructField(src_lst_updt_dt,NullType,true), 
    StructField(etl_insrt_dt,DateType,false), 
    StructField(etl_updt_dt,DateType,false)
)

是否有办法只使用架构编写空文件,或者在空时根本不写文件?谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-11-22 17:01:54

“还是当文件为空时根本不写?”检查df是否为空&然后只写它。

代码语言:javascript
复制
if (!df.isEmpty)
  df.write.format("parquet").mode("overwrite").save("somePath")
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58998515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档