我在S3路径有源数据:
s3://mybucket/prefix1/prefix2//prefixX/prefixY/partitionColumn=2023/
我需要创建数据帧读取s3://mybucket/prefix1/prefix2//prefixX/prefixY/
但是我得到
"Path does not exist: s3://mybucket/prefix1/prefix2/prefixX/prefixY/".
原因是它不能识别带有"/"。
df = spark.read.json("s3://mybucket/prefix1/prefix2//prefixxx/prefixxy/")
谁能帮助读取路径具有上述文件夹结构?
期望用给定的S3文件夹路径创建df。
spark和它用于对象存储的文件系统连接器包含这样的假设,即它们正在使用具有目录、子目录等的分层文件系统。
AWS是一个对象存储,如果你努力的话,你可以让一个bucket进入一个spark无法处理数据的状态。
例子- 在对象下创建对象;列表中可能/可能找不到它们
- 用/创建对象。/或/…/in their keys
- 创建带有//键的对象加上更多。
如果您这样做,rdd扫描将丢失数据,路径解析问题,重命名时丢失数据,删除以/作为后缀的父文件,....
您刚刚成功地创建了一个失败条件。修复:使用"valid"层级目录结构中的路径。