Skip to main content
 首页 » 编程设计

python之通过 pyspark 加载文件名中包含冒号的 Amazon S3 文件

2024年10月24日28kuangbin

我有一个 S3 存储桶,其中包含多个文件名中包含冒号的文件。

示例:

s3://my_bucket/my_data/en/2015120/batch:222:111:00000.jl.gz 

我正在尝试将其加载到 spark RDD 中并按如下方式访问第一行。

my_data = sc.textFile("s3://my_bucket/my_data/en/2015120/batch:222:111:00000.jl.gz") 
my_data.take(1) 

但这抛出,

llegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI:  

关于单独加载这些文件或更优选作为整个文件夹加载这些文件的任何建议

请您参考如下方法:

我通过将冒号替换为 url 编码格式来让它工作。

即

: 将替换为 %3A

要仔细检查,请单击 S3 中的一个对象并查看“链接”