python - 找不到 script-runner.jar

标签 python boto amazon-emr

这是通过 EMR 安装和运行 hive 的代码

args = ['s3://' + zone_name + '.elasticmapreduce/libs/hive/hive-script',
    '--base-path', 's3://' + zone_name + '.elasticmapreduce/libs/hive/',
    '--install-hive', '--hive-versions', '0.13.1']

args2 = ['s3://' + zone_name + '.elasticmapreduce/libs/hive/hive-script',
     '--base-path', 's3://' + zone_name + '.elasticmapreduce/libs/hive/',
     '--hive-versions', '0.13.1',
     '--run-hive-script', '--args',
     '-f', s3_url]

steps = []
for name, args in zip(('Setup Hive', 'Run Hive Script'), (args, args2)):
    step = JarStep(name,
               's3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar',
               step_args=args,
               # action_on_failure="CANCEL_AND_WAIT"
               )
# should be inside loop
    steps.append(step)

现在,当我将它提供给 run_jobflow 时,出于某种原因

我得到错误
Error fetching jar file. java.lang.RuntimeException: Error whilst fetching 's3://us-east-1.elasticmapreduce/libs/script-runner/script-runner.jar
我可以访问存储桶 elasticmapreduce/libs/script-runner/用我的凭据。我该如何解决这个问题?或者还有其他方法script-runner可以提供

最佳答案

这是因为您的集群与您从中获取 jar 的存储桶位于不同的区域。确保 EMR 集群与您作为“zone_name”传递的区域相同。

关于python - 找不到 script-runner.jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44662408/

相关文章:

python - 使用 python 检查 selenium 中元素的可点击性

python - 是否可以使用 Python Boto3 lib 删除基于二级索引的 DynamoDB 项目?

python - 在 AWS SQS 队列中连续读取数据

Python Boto EC2 在给定 IP 地址的情况下查找实例

amazon-web-services - 在 EMR 4.0 中启动 Spark 时出错

python - 如何将代理身份验证传递给 python 请求模块

python - 在 numpy 数组中查找相同值序列的长度(运行长度编码)

python - 使用多列的列表理解

amazon-web-services - 在 Amazon EMR 上使用 Spark 时如何分配驱动程序内存和执行程序内存的大小

apache-spark - 从 EMR 中的 Spark 默认类路径中删除 JAR