当前位置: 首页 > 面试题库 >

Spark-使用数据框语法进行分组?

简培
2023-03-14
问题内容

在不使用sql / hiveContext的Spark中使用groupby-having的语法是什么?我知道我能做

DataFrame df = some_df
df.registreTempTable("df");    
df1 = sqlContext.sql("SELECT * FROM df GROUP BY col1 HAVING some stuff")

但是我该如何使用类似的语法

df.select(df.col("*")).groupBy(df.col("col1")).having("some stuff")

.having()似乎不存在。


问题答案:

是的,它不存在。您表达了相同的逻辑,agg后跟where

df.groupBy(someExpr).agg(somAgg).where(somePredicate)


 类似资料:
  • 本文向大家介绍使用Python Pandas进行数据分析,包括了使用Python Pandas进行数据分析的使用技巧和注意事项,需要的朋友参考一下 在本教程中,我们将看到使用Python pandas库进行的数据分析。图书馆的熊猫都是用C语言编写的。因此,我们在速度上没有任何问题。它以数据分析而闻名。我们在熊猫中有两种类型的数据存储结构。它们是Series和DataFrame。让我们一一看。 1.

  • 我有一个数据帧,我想按两个参数分组(1)相同的第一列中的连续编号和(2)第二列中的匹配值 数据帧: 组1包括前2行,因为30和31是连续的,第二列匹配。创建组2是因为Col1中的31和35不是连续的。创建组3是因为H和E不匹配。 在pandas groupby中对列表中的行进行分组 我很感谢你给我的建议

  • 假设我有一个数据帧,其中包含一个列(称为colA ),这是一个行序列。我想在可乐的每个记录中添加一个新字段。(而新的字段与之前的记录关联,所以我必须写一个udf。)这个udf应该怎么写? 我尝试编写一个udf,它将colA作为输入,并输出Seq[Row],其中每个记录都包含新字段。但问题是udf无法返回Seq[Row]/异常是“org.apache.spark.sql类型的模式”。不支持行“”。我

  • 问题内容: 我正在使用monotonically_increasing_id()使用以下语法将行号分配给pyspark数据帧: 现在df1有26,572,528条记录。因此,我期望idx值为0-26,572,527。 但是当我选择max(idx)时,它的值非常大:335,008,054,165。 这个功能是怎么回事?使用此功能与具有相似记录数量的另一个数据集合并是否可靠? 我有大约300个数据框,

  • 为了给出backfround,我使用

  • 问题内容: 这是数据的一小部分。在实际数据中,“名称”和“代码”下的值有数百个,并且这些值经常更改。因此,对Pivot语句进行硬编码将不起作用。需要创建一个动态SQL语句- 我需要帮助。 样本数据集看起来像这样[再次,这只是一个小样本]: 请注意,代码值(例如A-One,A-Two和B-One)可能与一个以上的Name值相关联。 例如,A-One与名称A-1以及名称C一起出现。 我想输出它,使其看