PySpark는 sum
, min
, count
등과 같은 일반적인 감소를 지원합니다 ... all
및 any
과 같은 부울 감소를 지원합니까?PySpark RDD의 효율적인 불린 감소`any`,`all`?
항상 fold
을 or_
및 and_
이상으로 지정할 수 있지만 이는 비효율적으로 보입니다.
PySpark는 sum
, min
, count
등과 같은 일반적인 감소를 지원합니다 ... all
및 any
과 같은 부울 감소를 지원합니까?PySpark RDD의 효율적인 불린 감소`any`,`all`?
항상 fold
을 or_
및 and_
이상으로 지정할 수 있지만 이는 비효율적으로 보입니다.
아니오 Scala API에는 없기 때문에 파이썬 하나는 분명히 그렇지 않습니다. filter
의 측면에서 정의하는 것이 매우 쉽기 때문에 추가하지 않을 것이라고 생각합니다.
예 fold
을 사용하면 평행 화되지 않으므로 비효율적입니다. .filter(!condition).take(1).isEmpty
같은 것이 .forall(condition)
및 .filter(condition).take(1).nonEmpty
이 .exists(condition)
(일반 제안을 의미하는 의미 함 : 기본 스칼라 API는 파이썬 API에 비해 일반적으로 더 유연 당신이 그것에 이동 제안은 - 당신이 적은 층을 가지고 또한 디버깅을 훨씬 쉽게 스칼라는 확장 가능한 언어를 의미합니다 - 확장 가능한 응용 프로그램에 더 좋고 동적 유형의 언어보다 훨씬 튼튼합니다.)
Spark 1.3+에서 'filter (condition) .isEmpty'는 내부적으로'take (1)' – Asaf