Scio Scala:Scollection TO Long

lvmkulzt  于 7个月前  发布在  Scala
关注(0)|答案(1)|浏览(54)

我在scala中得到一个管道的max(a),所以结果是SCollection[Long],我想把类型转换为Long,因为我想在之后从min(a)中继承max(a),如果类型不是Long,就不可能做到这一点。
我试过使用asInstanceOf[Long],但它没有工作。
如果你能帮忙的话,我将不胜感激。

val max = pipe.map(_.a).max              
val min = pipe.map(_.a).min           
val diff = max - min

字符串

n3h0vuf2

n3h0vuf21#

您可以使用materialize从SCollection中提取最大值和最小值作为关闭的Tap。一旦管道成功完成,Tap将可用。在运行ScioContext之前必须调用materialize(),例如:

val max =  pipe.map(_.a).max.materialize
 val min =  pipe.map(_.a).min.materialize
 val result = sc.run().waitUntilDone()
 max.get(result).value.next() - min.get(result).value.next()

字符串

相关问题