我正在尝试读取pyspark中的压缩csv文件。但我无法在sagemaker的pyspark内核模式下阅读。
当内核是conda-python3(在sagemaker中(时,我可以使用pandas读取相同的文件
我尝试过的:
file1 = 's3://testdata/output1.csv.gz'
file1_df = spark.read.csv(file1, sep='t')
错误消息:
An error was encountered:
An error occurred while calling 104.csv.
: java.io.IOException: com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 7FF77313; S3 Extended Request ID:
如果我遗漏了什么,请告诉我
遇到错误:调用104.csv时出错。:java.io.io异常:com.amazon.ws.emr.hadoop.fs.shaded.com.amazonaws.services.s3.model.AmazonS3异常:拒绝访问(服务:amazon s3;状态代码:403;错误代码:拒绝访问;请求ID:7FF77313;s3扩展请求ID:
S3还有其他Hadoop连接器。只有S3A由Hadoop项目本身主动维护。Apache的Hadoop的原始s3://客户端。Hadoop中不再包含此项。Apache的Hadoop的s3n:文件系统客户端。此连接器不再可用:用户必须迁移到较新的s3a。
我附上了一份文件供您参考Apache S3连接器
PySpark根据他们提供的文档自动读取gz文件。单击Spark编程指南以获取文档。
file1 = 's3://testdata/output1.csv.gz'
rdd = sc.textFile(file1)
rdd.take(10)
在数据帧中加载文件
df = spark.read.csv(file1)