如何在AWS Glue中导入Spark软件包?

时间:2018-11-19 20:28:42

标签: amazon-web-services apache-spark pyspark aws-glue

我想使用GrameFrames软件包,如果要在本地运行pyspark,我将使用以下命令:

~/hadoop/spark-2.3.1-bin-hadoop2.7/bin/pyspark --packages graphframes:graphframes:0.6.0-spark2.3-s_2.11

但是我将如何使用此程序包运行AWS Glue脚本?我在文档中什么都没找到...

3 个答案:

答案 0 :(得分:1)

可以使用如下图框:

下载graphframes python库软件包文件,例如来自here。解压缩<canvas id="c"></canvas> <script src="https://threejsfundamentals.org/threejs/resources/threejs/r108/build/three.min.js"></script>,然后重新存档到.tar.gz。在s3中的某个位置放置您的粘合作业可以访问的

设置胶粘作业时:

  • 确保您的Python库路径引用了zip文件
  • 对于作业参数,您需要.zip

答案 1 :(得分:0)

您可以提供路径以打包到s3中的zip归档文件中的其他库。

请查看this文档以了解更多详细信息

答案 2 :(得分:0)

每个寻找答案的人都请阅读此评论。

为了在AWS Glue pySpark或Python-shell中使用外部软件包,

1) 从以下网址克隆存储库。 https://github.com/bhavintandel/py-packager/tree/master

git clone git@github.com:bhavintandel / py-packager.git

cd py-packager

2) 在require.txt下添加所需的软件包。例如,

pygeohash

在setup.py下更新版本和项目名称。例如,

VERSION =“ 0.1.0”

PACKAGE_NAME =“依赖关系”

3)运行下面的“ command1”为pyspark创建.zip包,或者运行“ command2”为python-shell创建egg文件。

command1:

sudo make build_zip

Command2:

sudo make bdist_egg

以上命令将在dist文件夹中生成packae。

4)最后将此包从dist目录上载到S3存储桶。然后转到AWS Glue作业控制台,编辑作业,找到脚本库选项,单击“ python库路径”的文件夹图标..然后选择您的s3路径。

最终在您的粘贴脚本中使用:

将pygeohash导入为pgh

完成!