【发布时间】:2017-08-19 23:23:39
【问题描述】:
我在 emr-5.4.0 集群上运行 zeppelin 0.7.0。我正在使用默认设置启动集群。 %spark.dep 解释器没有被 EMR 配置。
我已经从下面编辑了文件/etc/zeppelin/conf/interpreter.json:
"2ANGGHHMQ": {
"id": "2ANGGHHMQ",
"name": "spark",
"group": "spark",
"properties": {
"spark.yarn.jar": "",
"zeppelin.spark.printREPLOutput": "true",
"master": "yarn-client",
"zeppelin.spark.maxResult": "1000",
"spark.app.name": "Zeppelin",
"zeppelin.spark.useHiveContext": "true",
"args": "",
"spark.home": "/usr/lib/spark",
"zeppelin.spark.concurrentSQL": "false",
"zeppelin.spark.importImplicit": "true",
"zeppelin.pyspark.python": "python",
"zeppelin.dep.localrepo":"/usr/lib/zeppelin/local-repo"
},
"interpreterGroup": [
{
"class": "org.apache.zeppelin.spark.SparkInterpreter",
"name": "spark"
},
{
"class": "org.apache.zeppelin.spark.PySparkInterpreter",
"name": "pyspark"
},
{
"class": "org.apache.zeppelin.spark.SparkSqlInterpreter",
"name": "sql"
}
],
"option": {
"remote": true,
"port": -1,
"perNoteSession": false,
"perNoteProcess": false,
"isExistingProcess": false
}
}
我必须手动添加以下内容并重新启动 zeppelin:
{
"class":"org.apache.zeppelin.spark.DepInterpreter",
"name": "dep"
}
有没有办法让 EMR 使用默认的 zeppelin 设置(而不是删除此配置)?
更新
谁能解释一下为什么我今天早上刚刚创建的集群,通过克隆原始集群,具有完全不同的配置?
"interpreterGroup": [
{
"name": "spark",
"class": "org.apache.zeppelin.spark.SparkInterpreter",
"defaultInterpreter": false,
"editor": {
"language": "scala",
"editOnDblClick": false
}
},
{
"name": "pyspark",
"class": "org.apache.zeppelin.spark.PySparkInterpreter",
"defaultInterpreter": false,
"editor": {
"language": "python",
"editOnDblClick": false
}
},
{
"name": "sql",
"class": "org.apache.zeppelin.spark.SparkSqlInterpreter",
"defaultInterpreter": false,
"editor": {
"language": "sql",
"editOnDblClick": false
}
}
]
【问题讨论】:
-
感谢您分享此手动方法。我认为这是一个主要的疏忽,没有这个解释器,我们怎么能添加外部包?我不确定 AWS 认为 Zeppelin 没有这种能力会有什么用处。
-
在这个页面community.hortonworks.com/questions/41537/…有一个建议可以使用local.repo来存放jar文件。我不确定这到底是如何工作的,是否需要将依赖项的路径添加到 Spark(或其他)解释器,或者是否只需将 jar 放在本地 repo 中就足以将其导入您的代码
标签: amazon-emr apache-zeppelin