问题描述
我将以下代码行作为 pyspark 管道的一部分(从配置文件中获取硬编码列表),并且我正在 EMR 中运行我的管道。下面是 EMR Bootstrap 图像。内置函数将 int 列表视为 dict 并抛出以下错误。知道为什么我会看到这种奇怪的行为吗?
max_n_days = __builtins__.max([10,20])
EMR 引导程序:
#!/bin/bash
sudo easy_install pip
sudo yum install -y tkinter tk-devel
sudo yum install -y python3-pip
sudo pip install boto3
sudo pip install configparser
sudo pip install paramiko
sudo pip install nltk
sudo pip install scipy
sudo pip install scikit-learn
sudo pip install pandas==0.24.2
sudo pip install -U keras
sudo pip install pyddq
sudo pip install torch
sudo pip install numpy
sudo pip install future
sudo pip install keras==2.2.4
sudo pip install PyArrow==0.15.1
sudo pip install --upgrade awscli
错误:
max_n_days = __builtins__.max([10,20]) # use buildins reference
AttributeError: 'dict' object has no attribute 'max'
None
注意:我使用 'builtins.max()' 因为 'max' 与 sql max 函数发生冲突。我在 emr 上使用 python 2.7,也尝试过“导入内置函数”,但找不到内置函数。根据其他堆栈溢出帖子中的建议,我在我的集群上安装了“future”,但没有运气,仍然没有找到内置函数。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)