当我运行Glue作业试图导入pyRserve python模块(纯Python)时,我得到了以下错误:
LogType:stdout
Log Upload Time:Sun Jan 21 12:27:32 +0000 2018
LogLength:206
Log Contents:
Traceback (most recent call last):
File "script_2018-01-21-12-27-05.py", line 8, in <module>
import pyRserve
ImportError: No module named pyRserve
End of LogType:stdout以下是我工作的细节:
$ aws glue get-job --job-name test_trunc
{
"Job": {
"Name": "test_trunc",
"Role": "arn:aws:iam::#CLIPPED#:role/AWSGlueServiceRoleDefault",
"CreatedOn": 1516192543.117,
"LastModifiedOn": 1516537317.889,
"ExecutionProperty": {
"MaxConcurrentRuns": 1
},
"Command": {
"Name": "glueetl",
"ScriptLocation": "s3://#CLIPPED#/gluescripts/test_trunc"
},
"DefaultArguments": {
"--TempDir": "s3://#CLIPPED#/jobs/test_trunc/scripts",
"--extra-py-files": "s3://#CLIPPED#/jobs/test_trunc/python-libs/pyRserve.zip",
"--job-bookmark-option": "job-bookmark-disable",
"--job-language": "python"
},
"Connections": {
"Connections": [
"redshift"
]
},
"MaxRetries": 0,
"AllocatedCapacity": 10
}
}下面是我正在运行的脚本:
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
import pprint
import pyRserve以下是完整的日志:
https://gist.github.com/mattazend/b611d0232d94ade4bc4c16bcb79f73a8
发布于 2018-03-17 05:57:14
根据AWS胶水文件: 只能使用纯Python库。依赖于C扩展的库,如熊猫Python数据分析库,目前还不受支持。
我认为,即使我们将python库上传为zip文件,如果您使用的库具有C扩展的依赖项,也无法工作。我曾经尝试过使用Pandas、Holidays等,就像您尝试过的那样,在联系AWS支持时,他们提到它在他们的待办事项列表中(支持这些蟒蛇),但到目前为止还没有ETA。
@Ishwr:根据这个链接https://pypi.python.org/pypi/pyRserve/0.9.1,pyRserve需要Numpy包作为安装的先决条件,如果在已安装的库列表中找不到numpy,pyRserve首先安装numpy,然后再转到pyRserve。
由于Glue不支持numpy,因此我认为由于这个原因,pyRserve要么不是从zip文件中安装的,要么是它不为作业所识别/考虑的,因此也就是ImportError。
pyRserve由拉尔夫·海克尔(www.ralph-heinkel.com)撰写,并以麻省理工学院的许可发布。 快速安装确保安装了Numpy (版本1.4.x或更高版本)。 然后从unix/windows命令行运行: 用于手动安装的pip pyRserve下载tar.gz或zip包。解压缩后,cd进入pyRserve目录,并从命令行运行python安装。 实际上,如果缺少pip pyRserve,就应该安装numpy。
希望是对的。
谢谢。
发布于 2018-03-16 22:04:33
您是否使用S3中的zip文件作为您要导入的库的压缩文件,如建议的这里
https://stackoverflow.com/questions/48367110
复制相似问题