Scala RDD-конвейер к Python-коду создает исключение IllegalStateException на Linux Server, в то время как локально в Windows работает нормально - PullRequest
0 голосов
/ 06 марта 2019

Я пытаюсь выполнить код Python внутри программы Scala. Все отлично работает локально на машине с Windows, но когда я создал jar и перенес на сервер, выдает эту ошибку

java.lang.IllegalStateException: Subprocess exited with status 2. Command 
ran: python /home/folder2/scores.py someusername password /folder1

Я следил за этим вопросом:

Не удается передать код Scala RDD на код Python

но все равно выдает ту же ошибку.

Это мой код, откуда я звоню Python Script:

import org.apache.spark.SparkFiles
import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession


class Test(spark: SparkSession) {

  val sparkContext = spark.sparkContext

  def runPython = {

    val path = "/folder1"
    val userName = "someusername"
    val password = "password"
    val params = s"$userName $password  $path
    val rdd = sparkContext.parallelize(params)
    val pythonFile = "/home/folder2/scores.py"
    val command = s"python $pythonFile $params"
    val res = rdd.pipe(command)
   res.collect()

}
}
...