Wie fügt man eine Spalte an den Datenrahmen an und fügt den Dateinamen in die Spalte ein? Ich konnte Header entfernen und konvertierte Datenrahmen den folgenden Code verwendet:DataFrame: Fügen Sie eine Spalte an den Datenrahmen an und fügen Sie den entsprechenden Dateinamen in diese Spalte ein
Ich habe 2 Dateien wie folgt:
file1.csv:
name:file1
dept: hr
id,name,age
1,ss,34
2,rr,35
3,aa,44
file2.csv:
name:file2
dept: hr
id,name,age
1,ps,34
2,er,35
3,qa,44
val ofcFile = sc.wholeTextFiles("file:///root/ofc/dataset").flatMap(_._2.split("\n").drop(3))
case class ofc_str(id : String, name: String, age : String)
val DF = houseFile.map(_.split(",")).map(p => ofc_str(p(0).toString,p(1).toString,p(2).toString)).toDF()
DF.show
+--+----+---+
|id|name|age|
+--+----+---+
|1 | ss | 34|
|2 | rr | 35|
|3 | aa | 44|
|1 | ps | 34|
|2 | er | 35|
|3 | qa | 44|
Aber ich bin nicht in der Lage, die Datensätze zu identifizieren, von denen Datei Ich habe es so, wie bekomme ich einen Dateinamen für jeden Datensatz und füge ihn in einen neuen Spaltennamen in DF ein.
dies möglich ist ............. bitte, mich zu erreichen helfen! – Tangle
Lassen Sie Dateinamen nicht fallen, wenn Sie flatMap? – zero323
@ zero323 danke für die Antwort! ... Ich habe Dateinamen in der Datei ... so wie können wir diese Zeile in Datenrahmen als Daten in file_name Spalte ....... Statt Drop, wie kann ich es erreichen – Tangle