Ich versuche, meine Daten zu gruppieren und in hdfs mit einem Ordner für jeden 'Name' und Unterordner für jeden 'YearMonth' unter jedem Namensordner zu speichern.Um Multistorage für jede Gruppe in Pig zu verwenden
Eingang:
(Date) (name) (col3) (col4)
2015-02-02 abc y z
2016-01-02 xyz i j
2015-03-02 abc f b
2015-02-06 abc y z
2016-03-02 xyz a q
in hdfs Erwartet aus:
abc Ordner
->201502 subfolder
2015-02-02 abc y z
2015-02-06 abc y z
->201503 subfolder
2015-03-02 abc f b
xyz Ordner
->201601 subfolder
2016-01-02 xyz i j
->201603 subfolder
2016-03-02 xyz a q
Ich bin mir nicht sicher, wie die Option Multistorage in der Spalte Name verwendet wird, nachdem die Tupel nach Datum gruppiert wurden.
Ich habe eine große Reihe von Daten, die Millionen von Zeilen und mehr als 100 Namen. Können Sie mir vorschlagen, was ich in einem solchen Szenario tun kann? Vielen Dank im Voraus. – dreddy
Da Sie mehrere Ebene des Ordners (eins für Name und eins für Datum) möchten. Filtern und dann die einzige Option verwenden. Andere Optionen bestehen darin, eine Zeichenfolge mit Datum zu erstellen und etwas wie "xyz/201503" zu benennen und es an mutiStorage als Ordnernamen weiterzugeben, nicht sicher, ob das funktioniert. –
Ich benutze zweimal Split und dann MutiStorage darüber. Aber zu viele Multispeicher-Befehle Gibt es eine Möglichkeit, dies zu loopen? – dreddy