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

spark中字符串类型的摘要统计信息

边浩波
2023-03-14

火花中有没有像“R”中那样的总结函数。

spark(MultivariateStatisticalSummary)附带的摘要计算仅对数字类型进行操作。

我对获取字符串类型的结果很感兴趣,比如前四个最大占用字符串(groupby类型的操作)、unique数等。

有没有预先存在的代码?

如果不是,请建议处理字符串类型的最佳方法。

共有1个答案

卜和悌
2023-03-14

我认为MLlib中没有字符串这样的东西。但如果你打算实施它,这可能是一个有价值的贡献。

计算这些指标中的一个很容易。例如,按频率排列的前4名:

def top4(rdd: org.apache.spark.rdd.RDD[String]) =
  rdd
    .map(s => (s, 1))
    .reduceByKey(_ + _)
    .map { case (s, count) => (count, s) }
    .top(4)
    .map { case (count, s) => s }

或Unique的数量:

def numUnique(rdd: org.apache.spark.rdd.RDD[String]) =
  rdd.distinct.count

但是在一次传递中对所有指标执行此操作需要更多的工作。

这些示例假设,如果您有多个数据“列”,那么您已经将每一列拆分为一个单独的RDD。这是一种组织数据的好方法,对于执行洗牌的操作来说是必要的。

我所说的分栏是指:

def split(together: RDD[(Long, Seq[String])],
          columns: Int): Seq[RDD[(Long, String)]] = {
  together.cache // We will do N passes over this RDD.
  (0 until columns).map {
    i => together.mapValues(s => s(i))
  }
}
 类似资料:
  • 问题内容: 我正在尝试获取一些Cassandra / SPARK数据的最小,最大平均值,但我需要使用JAVA进行。 编辑以显示工作版本: 确保在“ someTable”和“ someKeyspace”周围添加“ 问题答案: 只需将您的数据导入为并应用所需的汇总即可: where 和分别存储表名和键空间。

  • 主要内容:执行Spark字符计数示例的步骤在Spark字符统计示例中,将找出指定文件中每个字符的频率。在这里,使用Scala语言来执行Spark操作。 执行Spark字符计数示例的步骤 在此示例中,计算并显示每个字符的出现次数。在本地计算机中创建一个文本文件并在其中写入一些文本。 向sparkdata.txt 文件中写入的文本。 在HDFS中创建一个目录,保存文本文件。 将HDD上的sparkdata.txt 文件上传到特定目录中。 现在

  • 问题内容: 我想检索有关字符串字段的数据,如最小,最大和平均长度(通过计算字符串中的字符数)。我的问题是聚合只能用于数字字段。此外,我使用简单的统计方面进行了尝试, 但出现碎片故障和SearchPhaseExecutionException。尝试使用脚本字段时,返回的错误是OutOfMemoryError: 是否可以使用CURL检索有关简单“ title”字符串字段的此类数据?谢谢! 问题答案:

  • 本文向大家介绍如何将摘要统计信息保存到R中的数据框中?,包括了如何将摘要统计信息保存到R中的数据框中?的使用技巧和注意事项,需要的朋友参考一下 当我们找到数据帧的摘要统计信息时,输出将作为表返回,并且每一列都记录了最小,第一四分位数,中位数,中位数,第三四分位数和最大值及其名称。如果我们要将此摘要另存为数据框,则最好使用apply函数对其进行计算并将其存储为data.frame。 示例 请看以下数

  • 当我部署以下内容时,我收到了这个错误: 错误: 在_helpers.tpl中定义: <code>。图表。名称是一个内部变量,这里解释了首选顺序,但即使设置 在任何其他模板中都很好,所以我认为问题与所使用的的范围有关。 使用的值:

  • 如何像方法在Keras中的作用: