Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services PySpark中的Hello World计划-EMR_Amazon Web Services_Amazon S3_Amazon Emr - Fatal编程技术网

Amazon web services PySpark中的Hello World计划-EMR

Amazon web services PySpark中的Hello World计划-EMR,amazon-web-services,amazon-s3,amazon-emr,Amazon Web Services,Amazon S3,Amazon Emr,我是AWS的新手。我正在尝试在EMR中执行hello world代码。我的代码在S3存储桶中。 我的第一个代码是一行代码: print('Hello World') 我通过添加步骤提交了代码: 我的日志上写着: Error> <Code>AccessDenied</Code> <Message>Access Denied</Message> 我的第二个代码是: import val from pyspark.python.pyspar

我是AWS的新手。我正在尝试在EMR中执行hello world代码。我的代码在S3存储桶中。 我的第一个代码是一行代码:

print('Hello World')

我通过添加步骤提交了代码:

我的日志上写着:

Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
我的第二个代码是:

import val


from pyspark.python.pyspark.shell import spark

val jdbcDF = spark.read.format("jdbc").option("url", "jdbc:mysql://localhost:3306/xxxx").option("driver", "com.mysql.jdbc.Driver").option("dbtable", "pet").option("user", "root").option("password", "xxxx").load()
print("done")

jdbcDF.write.format("json").mode("append").save("${s3://demo-xxxx}")
我收到相同的访问被拒绝错误


请引导我。不确定集群本身是否没有S3访问权限。如果是,我如何提供访问权限。谢谢。

EMR中的A是MR/Spark/Hive/Pig等程序,而您的程序与此无关。试着先熟悉大数据,然后再看看AWS上的大数据。

这肯定是S3访问问题

每个节点(EC2)都有一个IAM角色来访问AWS资源。
而且该EMR EC2 IAM角色应该具有对您的
demo xxxx
S3存储桶的putObject访问权限


请参见

我还执行了一个代码。编辑了这个问题。谢谢