Grosses File nach Spalte sortieren
Verfasst: Donnerstag 13. August 2009, 16:01
Hoi,
ich suche nach einer möglichst effizienten Weise ein File zu sortieren: Die Files, um die es geht sind rel. groß (+/- 10 GByte) und in Spalten aufgebaut. Zu sortieren ist nach einer Spalte im jeweiligen File, die eindeutige Zahlen enthält. Die Files sind einfache Textfiles (binäre Alternative gäbe es auch, aber die lassen wir mal beiseite ...). Und die Ausgabefiles sollen das selbe Format haben, nur eben aufsteigend nach den Zahlen sortiert.
In einem ersten Schritt das File durchforsten und ein Dict mit Schlüssel (die oben genannte Zahl) und Zeilennummer erstellen. Doch dann? Das File wieder und wieder zu durchlaufen, zum eigentlichen Sortieren, ist keine gute Idee. Mit seek springen ist zwar möglich, doch die Zeilenlänge ist nicht unbedingt konstant.
Kann mir jemand 'nen Tipp geben?
Gruß,
Christian
ich suche nach einer möglichst effizienten Weise ein File zu sortieren: Die Files, um die es geht sind rel. groß (+/- 10 GByte) und in Spalten aufgebaut. Zu sortieren ist nach einer Spalte im jeweiligen File, die eindeutige Zahlen enthält. Die Files sind einfache Textfiles (binäre Alternative gäbe es auch, aber die lassen wir mal beiseite ...). Und die Ausgabefiles sollen das selbe Format haben, nur eben aufsteigend nach den Zahlen sortiert.
In einem ersten Schritt das File durchforsten und ein Dict mit Schlüssel (die oben genannte Zahl) und Zeilennummer erstellen. Doch dann? Das File wieder und wieder zu durchlaufen, zum eigentlichen Sortieren, ist keine gute Idee. Mit seek springen ist zwar möglich, doch die Zeilenlänge ist nicht unbedingt konstant.
Kann mir jemand 'nen Tipp geben?
Gruß,
Christian