如何对数据帧进行聚合以获得不同的列数

时间:2017-08-10 00:50:18

标签: scala apache-spark

如何在dataframe上应用where条件,例如我需要在一列上groupBy并根据某些where条件计算列中的不同值。我需要在多列的条件下执行此操作

我尝试了以下方法。请让我知道我该怎么做。

meteor npm install --save file-api

这不起作用,或者有办法做某事吗?提前致谢

import FileAPI from 'file-api';
const { File } = FileAPI;

const getFile = function(name,image){
  const i = image.indexOf('base64,');
  const buffer = Buffer.from(image.slice(i + 7), 'base64');
  const file = new File({buffer: buffer, name, type: 'image/jpeg'});
  return file;
}

2 个答案:

答案 0 :(得分:0)

testRDD.select("名称"" ID"),其中($"价格"&0)。.distinct.groupBy($&#34 ; id")。agg(count(" name"))。show

答案 1 :(得分:0)

这是@ Robin回答的另一种方法,即将一个额外的布尔列引入组

df.groupBy($"id",when($"price">0,true).otherwise(false).as("positive_price"))
.agg(
  countDistinct($"name")
)
.where($"positive_price")
.show