Ошибка при отправке приложения PySpark через Livy REST API - PullRequest
0 голосов
/ 11 января 2020

Я хочу отправить приложение Pyspark в Livy через REST API для вызова HiveWarehouse Connector. Основываясь на этом ответе в сообществе Cloudera

https://community.cloudera.com/t5/Community-Articles/How-to-Submit-Spark-Application-through-Livy-REST-API/ta-p/247502

, я создал test1. json следующим образом

{
"jars": ["hive-warehouse-connector-assembly-1.0.0.3.1.0.0-78.jar"],
"pyFiles": ["pyspark_hwc-1.0.0.3.1.0.0-78.zip"],
"file": ["test1.py"]
}

и вызвал InvokeHTTP , Но я получаю эту ошибку "" Невозможно десериализовать экземпляр java.lang.String из токена START_ARRAY \ n в [Source: (org.eclipse.jetty.server.HttpInputOverHTTP); строка: 1, столбец: 224] (через цепочку ссылок: org. apache .livy.server.batch.CreateBatchRequest [\ "file \"

Я думаю, что поле 'file' с test1.py имеет вид Не так. Может кто-нибудь сказать мне, как отправить это? Это работает с простой искрой-отправки test1.py

Все предложения приветствуются

1 Ответ

0 голосов
/ 14 января 2020

Следующие работы Для основы c Доступ к Hive В следующих работах используется следующее JSON

   {
      "file":"hdfs-path/test1.py"
   }

Для доступа к Hive LLAP используйте JSON, как показано ниже

   {
    "jars": ["<path-to-jar>/hive-warehouse-connector-assembly-1.0.0.3.1.0.0-78.jar"],
    "pyFiles": ["<path-to-zip>/hive_warehouse_connector/pyspark_hwc-1.0.0.3.1.0.0-78.zip"],
    "file": "<path-to-file>/test3.py"
    }

Интересно, что когда я помещаю zip в поле «archives», это дает ошибку. Это работает для поля "pyFiles", хотя, как показано выше

...