Scala spark数据帧过滤器并选择
我有一个spark scala数据帧,需要根据条件过滤元素并选择计数Scala spark数据帧过滤器并选择,scala,apache-spark,apache-spark-sql,Scala,Apache Spark,Apache Spark Sql,我有一个spark scala数据帧,需要根据条件过滤元素并选择计数 val filter = df.groupBy("user").count().alias("cnt") val **count** = filter.filter(col("user") === ("subscriber").select("cnt") 我面临的错误是value select不是org.apache.spark.sql.Column的成员 此外,由于某些原因,计数是数据集[行] 想在一行中得到计数吗
val filter = df.groupBy("user").count().alias("cnt")
val **count** = filter.filter(col("user") === ("subscriber").select("cnt")
我面临的错误是value select不是org.apache.spark.sql.Column的成员
此外,由于某些原因,计数是数据集[行]
想在一行中得到计数吗?您缺少“)”之前。选择,请检查下面的代码
列类没有.select方法,您必须在Dataframe上调用select
val filter = df.groupBy("user").count().alias("cnt")
val **count** = filter.filter(col("user") === "subscriber").select("cnt")
您之前缺少“)”。选择,请检查下面的代码
列类没有.select方法,您必须在Dataframe上调用select
val filter = df.groupBy("user").count().alias("cnt")
val **count** = filter.filter(col("user") === "subscriber").select("cnt")
DataSet[Row]
是DataFrame
RDD[Row]
是DataFrame
所以不必担心。。它的数据帧
为了更好的理解,请看这个
关于select不是org.apache.spark.sql.Column的成员,它纯粹是编译错误
val filter = df.groupBy("user").count().alias("cnt")
val count = filter.filter (col("user") === ("subscriber"))
.select("cnt")
将工作,因为您缺少)大括号,它是过滤器的闭合大括号 DataSet[Row]
是DataFrame
RDD[Row]
是DataFrame
所以不必担心。。它的数据帧
为了更好的理解,请看这个
关于select不是org.apache.spark.sql.Column的成员,它纯粹是编译错误
val filter = df.groupBy("user").count().alias("cnt")
val count = filter.filter (col("user") === ("subscriber"))
.select("cnt")
将工作,因为您缺少)大括号,它是过滤器的闭合大括号 你可以发布完整的代码和一些示例数据。你是如何构建df的,你可以发布代码吗?发布完整的代码将有助于解决你的问题,你发布的部分代码没有用处。我不确定df是Dataframe还是Dataset。你能发布完整的代码和一些示例数据吗?你是如何构建df的,你能发布代码吗?发布完整的代码将有助于解决你的问题,你发布的是没有用的部分代码。我不确定df是Dataframe还是Dataset,但我还是得到了错误,因为类型不匹配;找到:org.apache.spark.sql.DataFrame(扩展为)org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]必需:Int+-----------------------------------+--+--+--+--user | count |+-----------------+--+--subscriber | 267 |+-------------+Filter数据框正在提供输出,这是变量计数的输入,val计数是Dataset[Row]例如,如果我们还有一条语句,比如val count=filter.filter(col(“user”)==“Consumer”)。选择(“cnt”),如果我们在filter数据框中没有Consumer的数据。火花工作将失败。如何处理这种情况?不,它不会失败。它只会返回空数据帧。我正在尝试转换为rdd并写入变量,如下所示:val count=filter.filter(col(“user”)==“Consumer”).select(“cnt”).rdd.map(x=>x(0)).collect()(0)。所以我的工作失败了,因为没有数据。有什么建议吗?我仍然得到错误,因为类型不匹配;找到:org.apache.spark.sql.DataFrame(扩展为)org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]必需:Int+-----------------------------------+--+--+--+--user | count |+-----------------+--+--subscriber | 267 |+-------------+Filter数据框正在提供输出,这是变量计数的输入,val计数是Dataset[Row]例如,如果我们还有一条语句,比如val count=filter.filter(col(“user”)==“Consumer”)。选择(“cnt”),如果我们在filter数据框中没有Consumer的数据。火花工作将失败。如何处理这种情况?不,它不会失败。它只会返回空数据帧。我正在尝试转换为rdd并写入变量,如下所示:val count=filter.filter(col(“user”)==“Consumer”).select(“cnt”).rdd.map(x=>x(0)).collect()(0)。所以我的工作失败了,因为没有数据。有什么建议吗?如果你没事,请小心接受,如果你没事,请小心接受并接受