Tôi đang cố gắng giải quyết vấn đề về tuổi của việc thêm số thứ tự vào tập dữ liệu. Tôi đang làm việc với DataFrames và dường như không có DataFrame nào tương đương với RDD.zipWithIndex
. Mặt khác, các công trình sau đây hoạt động nhiều hơn hoặc ít hơn theo cách tôi muốn:DataFrame-ified zipWithIndex
val origDF = sqlContext.load(...)
val seqDF= sqlContext.createDataFrame(
origDF.rdd.zipWithIndex.map(ln => Row.fromSeq(Seq(ln._2) ++ ln._1.toSeq)),
StructType(Array(StructField("seq", LongType, false)) ++ origDF.schema.fields)
)
Trong ứng dụng thực tế của tôi, origDF sẽ không được tải trực tiếp ra khỏi tệp - nó sẽ được tạo bởi nối 2-3 DataFrames khác với nhau và sẽ chứa tối đa 100 triệu hàng.
Có cách nào tốt hơn để thực hiện việc này không? Tôi có thể làm gì để tối ưu hóa nó?
Rất tốt! Làm tốt lắm! –