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

Error while submitting PySpark Application through Livy REST API

我想通过 REST API 向 Livy 提交 Pyspark 应用程序以调用 HiveWarehouse 连接器。基于 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。但是我得到这个错误“"Cannot deserialize instance of java.lang.String out of START_ARRAY token\n at [Source: (org.eclipse.jetty.server.HttpInputOverHTTP); line: 1, column: 224] (through reference chain: org.apache.livy.server.batch.CreateBatchRequest[\"file\”

我认为带有 test1.py 的 'file' 字段是错误的。谁能告诉我如何提交这个? 这适用于简单的 spark-submit test1.py

欢迎所有建议

以下作品 对于基本的 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" 字段,尽管如上所示