PySpark でカスタム HDFS リーダー クラスを実行しようとしています。このクラスは Java で記述されており、シェルまたは spark-submit を使用して、PySpark からアクセスする必要があります。
PySpark では、SparkContext から JavaGateway を取得します ( sc._gateway
)。
クラスがあるとします:
package org.foo.module
public class Foo {
public int fooMethod() {
return 1;
}
}
私はそれをjarファイルにパッケージ化し、--jar
オプションを付けてpysparkに渡してから実行しようとしました:
from py4j.java_gateway import java_import
jvm = sc._gateway.jvm
java_import(jvm, "org.foo.module.*")
foo = jvm.org.foo.module.Foo()
しかし、私はエラーが発生します:
Py4JError: Trying to call a package.
誰かがこれを手伝ってくれますか?ありがとう。