我正在从s3加载多个文件,例如
s3://bucket1/111
s3://bucket2/222
...
假设文件111有行
line0
line1
和文件222有行
line2
line3
我打算使用
sc.textFile("s3://bucket1/111,s3://bucket2/222...").zipWithIndex()
加载所有这些文件并为每一行添加索引。
我的问题是索引是基于文件的顺序以及同一文件中同一文件中的顺序。
我希望订单像
(line0, 0)
(line1, 1)
(line2, 2)
(line3, 3)
...
答案 0 :(得分:2)
是的。如有疑问请检查调试字符串:
scala> sc.textFile("README.md").zipWithIndex.toDebugString
res0: String =
(2) ZippedWithIndexRDD[2] at zipWithIndex at <console>:25 []
| README.md MapPartitionsRDD[1] at textFile at <console>:25 []
| README.md HadoopRDD[0] at textFile at <console>:25 []
No shuffle(单阶段)意味着保留订单。存储实施并不重要。