Apache Spark 작업에서 Java/Scala 함수에 액세스
PySpark에서는 작업 내에서 Java/Scala 함수를 호출하는 것이 다음과 같은 제한으로 인해 어려울 수 있습니다. Py4J 게이트웨이.
기본 문제
Python과 Java/Scala 간의 통신을 용이하게 하는 Py4J 게이트웨이는 드라이버에서만 실행되며 작업자는 액세스할 수 없습니다. DecisionTreeModel.predict와 같은 특정 작업은 JavaModelWrapper.call을 사용하여 SparkContext에 직접 액세스해야 하는 Java 함수를 호출합니다.
해결 방법
기본 Py4J 통신은 불가능하지만 , 몇 가지 해결 방법이 있습니다.
Spark SQL 데이터 소스 API:
Scala UDF:
Scala 인터페이스:
외부 작업 흐름 관리:
공유 SQLContext:
위 내용은 PySpark의 Apache Spark 작업에서 Java/Scala 함수를 호출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!