当我需要在n个元素的组中迭代集合而不重新处理任何元素时,我发现自己最近使用了滑动(n,n).我想知道使用分组(n)迭代这些集合是否更为正确.我的问题是,是否有特殊原因在性能方面使用这一特定情况.
val listToGroup = List(1,2,3,4,5,6,7,8)
listToGroup: List[Int] = List(1, 2, 3, 4, 5, 6, 7, 8)
listToGroup.sliding(3,3).toList
res0: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6), List(7, 8))
listToGroup.grouped(3).toList
res1: List[List[Int]] = List(List(1, 2, 3), List(4, 5, 6), List(7, 8))
Run Code Online (Sandbox Code Playgroud) 我有一个bash脚本,每晚都会启动我的独立EC2 Spark集群并执行一个应用程序.我希望在应用程序完成后注意到我可以停止群集.
我想知道是否存在基于spark应用程序状态的某种回调.
我很新兴,所以另外一个解决这个问题的提示将不胜感激.
谢谢.
更新:
使用json提供http://<master-host>:8080/metrics/master/json
或者http://<master-host>:8080/metrics/applications/json
我可以获得应用程序的状态(WAITING,RUNNING,FINISHED),但是我无法获得驱动程序的状态,它将告诉您执行是否失败.我确信指标必须有一个特定的配置才能显示,但我找不到它.
为了获得这种状态,我取消了提供的Web UI,http://<master-host>:8080
以找到执行我的应用程序的驱动程序并获取其状态.
我试图找出一种方法来根据元素之间的x距离对列表中的所有对象进行分组.
例如,如果距离是1
那么
List(2,3,1,6,10,7,11,12,14)
Run Code Online (Sandbox Code Playgroud)
会给
List(List(1,2,3), List(6,7), List(10,11,12), List(14))
Run Code Online (Sandbox Code Playgroud)
我只能提出棘手的方法和循环,但我想必须有一个更清洁的解决方案.