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



我想通过 REST API 向 Livy 提交一个 Pyspark 应用程序来调用 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。但是我收到此错误"无法从START_ARRAY令牌 中反序列化java.lang.String实例 在 [来源: (org.eclipse.jetty.server.HttpInputOverHTTP(;行: 1, 列: 224] (通过引用链: org.apache.livy.server.batch.CreateBatchRequest[\"file\">

我认为带有 test1.py 的"文件"字段是错误的。谁能告诉我如何提交这个? 这适用于简单的火花提交 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放在"存档"字段中时,它给出了错误。它适用于"pyFiles"字段,如上所示

最新更新