我正在做一些數據預處理。每條線具有以下架構如何動態構建RDD或DataFrame?
<row Att1="...." Att2="..." Attn"...." />
但並非所有行中都存在所有屬性。也就是說,有些行可能只有三個屬性,而另一些行有五個屬性,等等。此外,沒有方式屬性指示每行內存在多少屬性。
我想形成一個RDD或DataFrame(prefrable)並對數據運行一些查詢。不過,我找不到分割每一行的好方法。例如,按空間分割不起作用。我在處理中只需要一些屬性。我嘗試使用模式匹配來提取存在於所有行中的4個屬性,如下所示,但失敗。
val pattern = "Att1=(.*) Att3=(.*) Att10=(.*) Att11=(.*)".r
val rdd1 = sc.textFile("file.xml")
val rdd2 = rdd1.map {line => line match {
case pattern(att1,att2,att3,att4) => Post(att1,att2,att3,att4)
}
}
case class Post(Att1: String, Att3: String, Att10: String, Att11: String)
p.s.我正在使用scala。
這太寬泛了,無法在這裏回答。另外,你到目前爲止嘗試過什麼? – eliasah
我更新了我的帖子,至今爲止我做了 –