通过Livy REST API提交PySpark应用程序时出错

通过Livy REST API提交PySpark应用程序时出错,rest,pyspark,apache-nifi,livy,Rest,Pyspark,Apache Nifi,Livy,我想通过RESTAPI向Livy提交一个Pyspark应用程序来调用HiveWarehouse连接器。基于Cloudera社区中的这个答案 我创建了一个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。

我想通过RESTAPI向Livy提交一个Pyspark应用程序来调用HiveWarehouse连接器。基于Cloudera社区中的这个答案

我创建了一个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。但是我在[Source:(org.eclipse.jetty.server.HttpInputOverHTTP);第1行,第224列](通过引用链:org.apache.livy.server.batch.CreateBatchRequest[\“file\”)处得到了这个错误“”“无法反序列化
java.lang.String
的START\u数组令牌实例”

我认为test1.py的“文件”字段是错误的。有人能告诉我如何提交吗? 这适用于一个简单的spark submit test1.py

欢迎所有建议

以下作品 对于基本配置单元访问,以下工作使用以下JSON

   {
      "file":"hdfs-path/test1.py"
   }
对于配置单元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"
    }
{
“jars”:[“/hive-warehouse-connector-assembly-1.0.0.3.1.0.0-78.jar”],
“pyFiles”:[“/hive_warehouse_connector/pyspark_hwc-1.0.0.3.1.0.0-78.zip”],
“文件”:“/test3.py”
}

有趣的是,当我将zip放在“archives”字段时,它给出了一个错误。它适用于“pyFiles”字段,尽管如上图所示

乍一看,对于喜欢Python的人来说,这篇文章似乎是一个很好的开始(我不是其中之一)>>还涉及提交“批处理”的curl@萨姆森·沙尔里希特更正link@SamsonScharfrichter我也尝试过使用curl。同样的错误。我需要确切地知道哪些字段有哪些参数?RESTAPI的Apache Livy官方文档(上面的链接,从Google找到)相当明确地说明了哪些文件是“映射”(嵌套键/值字段的结构),哪些是“列表”(字符串数组)和非列表(即字符串)。