当前位置: 首页 > 知识库问答 >
问题:

Spark Scala-处理空数据流

翟俊名
2023-03-14

我有一个特定的要求,其中,我需要检查空的数据文件。如果为空,则填充默认值。这是我尝试过但没有得到我想要的东西。

def checkNotEmpty(df: org.apache.spark.sql.DataFrame, col: String):org.apache.spark.sql.DataFrame = 
 {
 if (!df.rdd.isEmpty())  df
    else
  df.na.fill(0, Seq(col))
 }

val age = checkNotEmpty(w_feature_md.filter("age='22'").select("age_index"),"age_index")

这个想法是,如果df不是空的,就得到它。如果为空,则填写默认值为零。这似乎不起作用。以下是我得到的。

scala> age.show
+---------+
|age_index|
+---------+
+---------+

请帮忙。

共有1个答案

应俭
2023-03-14
  def checkNotEmpty(df: org.apache.spark.sql.DataFrame, col: String):org.apache.spark.sql.DataFrame = 
     {
     if (!df.rdd.isEmpty())  df
        else
      df.na.fill(0, Seq(col))
     }

如果DF不为空,则控件转到if部分。

DF为空时,转到else部分。

df.na(org.apache.spark.sql.dataframenafunctions):用于处理Dataframes中缺少的数据的功能。
由于对空Dataframe使用df.na,因此没有任何可替换的内容,因此结果总是empt

有关替换DF中的null值的更多信息,请查看此ques。

 类似资料:
  • 数据处理 可将字段的值进行处理得到最终结果 html标签过滤 内容替换 批量替换 关键词过滤 条件判断 截取字符串 翻译 工具箱 将文本链接标记为图片链接:如果字段的值是完整的url链接(非<img>标签内的链接),可将链接识别为图片 使用函数 调用接口

  • 我引用了irbanana关于支持PostGIS的空间数据类型的回答。我正在使用MySQL,并试图为自定义数据类型实现EWKBGeomPoint。 我的Gorm模型: 据我所知,MySQL支持这样的插入: 或 如果我使用自己的来满足的界面: 包括在内的整个值在Gorm的单引号中引用,因此它不起作用: 我如何让它工作? 编辑1: 我追踪Gorm代码,最终得到了的函数。在它内部检查且为真,则它进入调用,

  • 我遇到了一些数据,我想用许多不同的方式对它进行排序,例如按购买最多的最便宜的产品进行排序。我想一行一行地对文档进行分组,因为每行包含另一个“项目”。我附上了一张图片供参考。我更喜欢使用Java,但如果有必要,我会学习R。我是否手动将每行编码为数组?有400个项目,如果这是唯一的方法,我可以将其分成几天。 样品

  • Data Preparation You must pre-process your raw data before you model your problem. The specific preparation may depend on the data that you have available and the machine learning algorithms you want

  • 在输入的JSON数据中,v的值越高,粒子越亮,并且它们从出发国家到目的国家的运行越快。 (请查阅Michael Chang的文章来 了解他是如何提出这个想法的)。Gio.js库会自动缩放输入数据的范围以便于更好的数据可视化。作为开发人员,您还可以定义自己的预处理数据的方式。

  •        随着数据获取的便捷,GIS数据已不再成为GIS分析的瓶颈,但对海量数据的加载却又成了GIS相关软件的难题。LocaSpaceViewer对数据的加载进行了大量的优化,极大的加快了数据的加载速度。同时经过各种摸索,不断的改进算法与数据的存储和读取方式,研究出了能够加载速度更快的数据结构。        LocaSpaceViewer提供了数据影像处理功能,可以把多个影像或者地形数据进行