3 Stimmen

Importieren mehrstufiger Verzeichnisse von Protokollen in hadoop/pig

Wir speichern unsere Protokolle in S3, und eine unserer (Pig-)Abfragen würde drei verschiedene Protokolltypen erfassen. Jeder Protokolltyp befindet sich in einer Reihe von Unterverzeichnissen, die auf Typ/Datum basieren. Zum Beispiel:

/logs/<type>/<year>/<month>/<day>/<hour>/lots_of_logs_for_this_hour_and_type.log*

meine Abfrage würde alle drei Arten von Protokollen laden wollen, für eine bestimmte Zeit. Zum Beispiel:

type1 = load 's3:/logs/type1/2011/03/08' as ...
type2 = load 's3:/logs/type2/2011/03/08' as ...
type3 = load 's3:/logs/type3/2011/03/08' as ...
result = join type1 ..., type2, etc...

meine Abfragen würden dann gegen alle diese Protokolle laufen.

Wie lässt sich dies am effizientesten bewerkstelligen?

  1. Müssen wir die Bash-Skripterweiterung verwenden? Ich bin nicht sicher, ob dies mit mehreren Verzeichnissen funktioniert, und ich bezweifle, dass es effizient (oder sogar möglich) wäre, wenn 10k Protokolle zu laden sind.
  2. Erstellen wir einen Dienst, um alle Protokolle zu aggregieren und sie direkt an hdfs zu senden?
  3. Benutzerdefinierte Java/Python-Importer?
  4. Andere Gedanken?

Es wäre hilfreich, wenn Sie ggf. auch einen Beispielcode hinterlassen könnten.

Gracias

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X