Spark Livy Server:Python 脚本如何返回 json 对象?
Posted
技术标签:
【中文标题】Spark Livy Server:Python 脚本如何返回 json 对象?【英文标题】:Spark Livy Server: How does Python script return a json object? 【发布时间】:2016-06-12 13:21:17 【问题描述】:我们正在使用 Spark 进行 ML 和数据处理,请求来自基于 Web 的 UI 前端。所以我们为此使用了 Livy REST 服务器。代码根据此处的教程正确运行完成: http://gethue.com/how-to-use-the-livy-spark-rest-job-server-api-for-submitting-batch-jar-python-and-streaming-spark-jobs/
但是,我不知道如何返回预期的输出。目前python代码'main'以
结尾if __name__ == "__main__":
sc = SparkContext('local')
#do some spark processing to create 'result' dictionary
print json.dumps(result, indent=4)
这会将结果发送到
curl localhost:8998/batches/0/log
以及 spark-submit 的所有详细信息。我怎样才能返回 json 对象,以便 Web UI(基于 Node.js)可以查询它,例如
localhost:8998/batches/0/output
【问题讨论】:
【参考方案1】:您可以将输出存储到 hdfs 中,并且可以使用该文件位置 url 将输出获取到节点。最好使用某个唯一 id 将 python 的输出重定向到 hdfs 中的某个位置,并将该唯一 id 保存在数据库中,以便在获取输出时可以参考该 id 来获取输出文件。
【讨论】:
以上是关于Spark Livy Server:Python 脚本如何返回 json 对象?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 EMR 集群引导上设置 livy.server.session.timeout?