ホームページ >バックエンド開発 >Python チュートリアル >PySpark の Apache Spark タスクから Java/Scala 関数を呼び出す方法
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 中国語 Web サイトの他の関連記事を参照してください。