Я пытаюсь использовать библиотеки XGBoost для Scala, которые могут работать на спарке. Для этого я использую файлы jar. Я скачал файлы jar для scala xgboost с xgboost4j-spark_2.11-0.80-p1.jar и xgboost4j_2.11-0.80-p1.jar . Я поместил их в папку jars
$SPARK_HOME
.
После этого я опробовал следующую строку
sc._jvm.ml.dmlc.xgboost4j.scala.spark.XGBoostClassifier("dasd")
Это привело к следующей ошибке
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/py4j/java_gateway.py", line 1159, in send_command
raise Py4JNetworkError("Answer from Java side is empty")
py4j.protocol.Py4JNetworkError: Answer from Java side is empty
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/py4j/java_gateway.py", line 985, in send_command
response = connection.send_command(command)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/py4j/java_gateway.py", line 1164, in send_command
"Error while receiving", e, proto.ERROR_ON_RECEIVE)
py4j.protocol.Py4JNetworkError: Error while receiving at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 45 more
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/py4j/java_gateway.py", line 1598, in __getattr__
raise Py4JError("{0} does not exist in the JVM".format(new_fqn))
py4j.protocol.Py4JError: ml.dmlc.xgboost4j.scala.spark.XGBoostClassifier does not exist in the JVM
Первоначально я думал, что это из-за того, что система не может найти банки. Чтобы проверить эту гипотезу, я добавил новый jar в папку $SPARK_HOME/jars
. Баночка находится здесь . Я запустил следующую строку
>>> sc._jvm.com.ippontech.Hello.Hello.hello('cat')
hello, cat
Работает без проблем. Я начинаю верить, что проблема в jar-файлах, но я не уверен, что делать дальше.
Это то, что я использую
macOS Mojave
java version "1.8.0_45"
spark 2.3.1
scala 2.11.12
python 3.6.0