首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么pySpark不能只运行自定义函数?

为什么pySpark不能只运行自定义函数?
EN

Stack Overflow用户
提问于 2019-10-02 15:14:35
回答 1查看 216关注 0票数 0

我在一台具有2个节点的EC2机器上设置了pyspark。我正在使用以下命令运行pyspark

代码语言:javascript
复制
 pyspark --master spark://10.0.1.13:7077 --driver-memory 5G --executor-memory 12G --total-executor-cores 10

我的python脚本仅在运行UDF函数时失败。我不能调试为什么只调试udf而不调试脚本的任何其他部分,或者为什么不调试完整的脚本?

路径:

代码语言:javascript
复制
(base) [ec2-user@ip-10-0-1-13 ~]$ which pyspark
~/anaconda2/bin/pyspark
(base) [ec2-user@ip-10-0-1-13 ~]$ which python
~/anaconda2/bin/python

Python脚本:

代码语言:javascript
复制
def getDateObjectYear(dateString):
    dateString=dateString.strip()
    return dateString

dateObjectUDFYear = udf(getDateObjectYear)

checkin_date_yelp_df=checkin_date_yelp_df.withColumn('year', dateObjectUDFYear(checkin_date_yelp_df.date))

在运行checkin_date_yelp_df.show(5)时,我收到以下错误

代码语言:javascript
复制
Py4JJavaError: An error occurred while calling o98.showString.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 14.0 failed 4 times, most recent failure: Lost task 0.3 in stage 14.0 (TID 230, 10.0.1.13, executor 0): java.io.IOException: Cannot run program "~/anaconda2/bin/python": error=2, No such file or directory
..
..
..
..
Caused by: java.io.IOException: error=2, No such file or directory
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:247)
    at java.lang.ProcessImpl.start(ProcessImpl.java:134)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
EN

回答 1

Stack Overflow用户

发布于 2019-10-02 18:29:01

原来我在.bashrc中有2条路径配置不正确

正确的方法:

代码语言:javascript
复制
export PYTHONPATH=/home/ec2-user/anaconda/bin/python
export PYSPARK_PYTHON=/home/ec2-user/anaconda/bin/python
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58196800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档