在 AWS EMR 上提交 pyspark 支持 sql zip 文件内的文件
Submitting pyspark supporting sql files inside zip file on AWS EMR
我希望在 Amazon EMR 上的 pyspark 应用程序中引用在 S3 上保存为 .zip 的非 python 文件(例如,SQL、config、txt)。我试过 --py-files,但它只适用于我的 python 文件。我仍然无法在 Amazon EMR 中使用来自 S3 的 SQL/config 压缩文件。有人对此有任何解决方案吗?
您正在寻找的旗帜--archives
。基本上你给它一个 zip 文件,它会将它解压到每个 yarn 容器正在执行的目录中。你应该能够使用脚本中的相对路径访问它们。
您还可以通过在末尾添加 #{name}
来控制您的 zip 解压缩到的文件夹的名称。例如 --archives s3://aaa/some.zip#files
。 Spark 只是在这里顺便提到了这一点:
https://spark.apache.org/docs/latest/running-on-yarn.html#important-notes
需要注意的一件事是,如果您 运行 使用 --deploy-mode client
则您的驱动程序不是 运行 纱线容器,因此将无法访问这些文件.您将改为使用 --deploy-mode cluster
.
我希望在 Amazon EMR 上的 pyspark 应用程序中引用在 S3 上保存为 .zip 的非 python 文件(例如,SQL、config、txt)。我试过 --py-files,但它只适用于我的 python 文件。我仍然无法在 Amazon EMR 中使用来自 S3 的 SQL/config 压缩文件。有人对此有任何解决方案吗?
您正在寻找的旗帜--archives
。基本上你给它一个 zip 文件,它会将它解压到每个 yarn 容器正在执行的目录中。你应该能够使用脚本中的相对路径访问它们。
您还可以通过在末尾添加 #{name}
来控制您的 zip 解压缩到的文件夹的名称。例如 --archives s3://aaa/some.zip#files
。 Spark 只是在这里顺便提到了这一点:
https://spark.apache.org/docs/latest/running-on-yarn.html#important-notes
需要注意的一件事是,如果您 运行 使用 --deploy-mode client
则您的驱动程序不是 运行 纱线容器,因此将无法访问这些文件.您将改为使用 --deploy-mode cluster
.