问题
In Zeppelin, at each row I am having to provide the interpreter at each row. Is there a way to set the interpreter for the whole session.
%pyspark
import re
Took 0 seconds.
import pandas as pd
console :1: error: '.' expected but identifier found. import pandas as pd
%pyspark
import pandas as pd
Took 0 seconds.
How do I set the interpreter for the whole session?
回答1:
The Spark Interpreter group currently has 4 interpreter as listed here...
https://zeppelin.incubator.apache.org/docs/0.5.0-incubating/interpreter/spark.html
The default interpreter is %spark
and default interpreter is selected based on the order of the interpreter listed in the zeppelin.interpreters
property in zeppelin-site.xml config file.
The current order of interpreter in your zeppelin-site.xml (zeppelin.interpreters
property) will be this ...
org.apache.zeppelin.spark.SparkInterpreter,org.apache.zeppelin.spark.PySparkInterpreter
Modify this to ...
org.apache.zeppelin.spark.PySparkInterpreter, org.apache.zeppelin.spark.SparkInterpreter
and restart Zeppelin (zeppelin-daemon.sh restart
)
This will make %pyspark
as default interpreter.
Thanks
回答2:
The above answer did not work on recent Zeppelin versions.
To set the default interpreter, check /etc/zeppelin/conf/interpreter.json
and look for something like:
...
{
"name": "spark",
"class": "org.apache.zeppelin.spark.SparkInterpreter",
"defaultInterpreter": true,
"editor": {
"language": "scala",
"editOnDblClick": false
}
},
...
{
"name": "pyspark",
"class": "org.apache.zeppelin.spark.PySparkInterpreter",
"defaultInterpreter": false,
"editor": {
"language": "python",
"editOnDblClick": false
}
}
Now everything seems trivial. We just need to change the defaultInterpreter
of spark
to false
, and defaultInterpreter
of pyspark
to true
.
And then restart the zeppelin (sudo stop zeppelin; sudo start zeppelin
).
回答3:
Even Fishball's answer for recent Zeppelin seems outdated. My conf/interpreter.json
came with spark as default ("defaultInterpreter": true
) and python/pyspark as not ("defaultInterpreter": false
) and yet Zeppelin picked up python/pyspark as default. And in my case, I wanted spark over pyspark.
The solution was to just drag and drop interpreters in Zeppelin web console's interpreter binding
section.
来源:https://stackoverflow.com/questions/33834401/apache-zeppelin-set-default-interpreter