Eclipse 中的 PySpark:使用 PyDev
PySpark in Eclipse: using PyDev
我正在从命令行运行使用本地 pyspark 代码并且它有效:
/Users/edamame/local-lib/apache-spark/spark-1.5.1/bin/pyspark --jars myJar.jar --driver-class-path myJar.jar --executor-memory 2G --driver-memory 4G --executor-cores 3 /myPath/myProject.py
是否可以使用 PyDev 从 Eclipse 中 运行 这段代码? 运行 配置中需要的参数是什么?我试过并收到以下错误:
Traceback (most recent call last):
File "/myPath/myProject.py", line 587, in <module>
main()
File "/myPath/myProject.py", line 506, in main
conf = SparkConf()
File "/Users/edamame/local-lib/apache-spark/spark-1.5.1/python/pyspark/conf.py", line 104, in __init__
SparkContext._ensure_initialized()
File "/Users/edamame/local-lib/apache-spark/spark-1.5.1/python/pyspark/context.py", line 234, in _ensure_initialized
SparkContext._gateway = gateway or launch_gateway()
File "/Users/edamame/local-lib/apache-spark/spark-1.5.1/python/pyspark/java_gateway.py", line 76, in launch_gateway
proc = Popen(command, stdin=PIPE, preexec_fn=preexec_func, env=env)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1308, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
有人知道吗?非常感谢!
考虑到以下先决条件:
- 已安装 Eclipse、PyDev 和 Spark。
- 配置了 Python 解释器的 PyDev。
- 配置了 Spark Python 源的 PyDev。
这是您需要执行的操作:
从 Eclipse ID,检查您是否在 PyDev 透视图中:
- 在 Mac 上:Eclipse > 首选项
- 在 Linux 上:Window > 首选项
从 首选项 window,转到 PyDev > Interpreters > Python Interpreter:
- 点击中央按钮[环境]
- 单击按钮 [新建...] 添加一个新的环境变量。
- 添加环境变量SPARK_HOME并验证:
- 名称:SPARK_HOME,值:/path/to/apache-spark/spark-1.5.1/
- 注意:不要使用$SPARK_HOME
等系统环境变量
我还建议您在每个项目中处理自己的 log4j.properties
文件。
为此,您需要像之前那样添加环境变量 SPARK_CONF_DIR
,例如:
Name: SPARK_CONF_DIR, Value: ${project_loc}/conf
如果您在使用变量 ${project_loc} 时遇到一些问题(例如:使用 Linux),请改为指定绝对路径。
或者,如果您想保留 ${project_loc}
,请右键单击每个 Python 来源,然后:运行s As > 运行 配置,然后创建您的 SPARK_CONF_DIR
环境选项卡中的变量,如前所述。
偶尔可以添加其他环境变量如TERM
、SPARK_LOCAL_IP
等:
- 名称:TERM,Mac 上的值:xterm-256color,Linux 上的值:xterm,当然如果你想使用 xterm
- 名称:SPARK_LOCAL_IP,值:127.0.0.1(建议指定您的真实本地IP地址)
PS: 我不记得这个教程的来源,所以请原谅我没有引用作者。这不是我自己想出来的。
我正在从命令行运行使用本地 pyspark 代码并且它有效:
/Users/edamame/local-lib/apache-spark/spark-1.5.1/bin/pyspark --jars myJar.jar --driver-class-path myJar.jar --executor-memory 2G --driver-memory 4G --executor-cores 3 /myPath/myProject.py
是否可以使用 PyDev 从 Eclipse 中 运行 这段代码? 运行 配置中需要的参数是什么?我试过并收到以下错误:
Traceback (most recent call last):
File "/myPath/myProject.py", line 587, in <module>
main()
File "/myPath/myProject.py", line 506, in main
conf = SparkConf()
File "/Users/edamame/local-lib/apache-spark/spark-1.5.1/python/pyspark/conf.py", line 104, in __init__
SparkContext._ensure_initialized()
File "/Users/edamame/local-lib/apache-spark/spark-1.5.1/python/pyspark/context.py", line 234, in _ensure_initialized
SparkContext._gateway = gateway or launch_gateway()
File "/Users/edamame/local-lib/apache-spark/spark-1.5.1/python/pyspark/java_gateway.py", line 76, in launch_gateway
proc = Popen(command, stdin=PIPE, preexec_fn=preexec_func, env=env)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1308, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
有人知道吗?非常感谢!
考虑到以下先决条件:
- 已安装 Eclipse、PyDev 和 Spark。
- 配置了 Python 解释器的 PyDev。
- 配置了 Spark Python 源的 PyDev。
这是您需要执行的操作:
从 Eclipse ID,检查您是否在 PyDev 透视图中:
- 在 Mac 上:Eclipse > 首选项
- 在 Linux 上:Window > 首选项
从 首选项 window,转到 PyDev > Interpreters > Python Interpreter:
- 点击中央按钮[环境]
- 单击按钮 [新建...] 添加一个新的环境变量。
- 添加环境变量SPARK_HOME并验证:
- 名称:SPARK_HOME,值:/path/to/apache-spark/spark-1.5.1/
- 注意:不要使用$SPARK_HOME 等系统环境变量
我还建议您在每个项目中处理自己的 log4j.properties
文件。
为此,您需要像之前那样添加环境变量 SPARK_CONF_DIR
,例如:
Name: SPARK_CONF_DIR, Value: ${project_loc}/conf
如果您在使用变量 ${project_loc} 时遇到一些问题(例如:使用 Linux),请改为指定绝对路径。
或者,如果您想保留 ${project_loc}
,请右键单击每个 Python 来源,然后:运行s As > 运行 配置,然后创建您的 SPARK_CONF_DIR
环境选项卡中的变量,如前所述。
偶尔可以添加其他环境变量如TERM
、SPARK_LOCAL_IP
等:
- 名称:TERM,Mac 上的值:xterm-256color,Linux 上的值:xterm,当然如果你想使用 xterm
- 名称:SPARK_LOCAL_IP,值:127.0.0.1(建议指定您的真实本地IP地址)
PS: 我不记得这个教程的来源,所以请原谅我没有引用作者。这不是我自己想出来的。