Es enthält Tools für Pig, Hive SerDe, HBase, uvm
Elephant Bird benötigt einen aktuellen Compiler für Protocol Buffers (mindestens Version 2.3)
Der Protocol Buffers Compiler ist den Ubuntu Paketquellen enthalten und vorinstalliert, andernfalls könnt ihr ihn je nach Distribution wie folgt nachinstallieren.
Elephant Bird benötigt außerdem, dass Thrift auf eurem Computer installiert ist. Wie ihr Thrift installieren könnt erfahrt ihr in diesem Wiki Beitrag: [wiki]Apache Thrift Installation[/wiki]
Um die JAR Dateien für Elephant Bird zu bauen wird ant verwendet. Neben ant müsst ihr noch die aktuelle JDK installieren.
Statt der Sun JDK könnt ihr natürlich auch openjdk-6-jdk verwenden. Aber gerade wenn ihr die Cloudera Distribution verwendet, dann bringen einige Pakete die Sun JDK bereits als Paketabhängigkeit mit.
Ladet euch nun die aktuellste stabile Version von Elephant Bird herunter: github.com/kevinweil/elephant-bird
Mit wget funktioniert der Download wie folgt. Ihr solltet den SSL Check für github deaktivieren.
Nun entpackt ihr die Dateien und startet anschließend das Bauen der JAR Dateien
Die erfolgreiche Installation sieht bei mir wie folgt aus:
Alles anzeigen
Ihr findet die Elephant Bird JAR Datei von Elephant Bird im dist Ordner.
== Elephant Bird mit Pig 0.8 ==
Elelphant Bird in der Version 1 unterstütz kein Pig 0.8, wie es in den Cloudera Quellen zu finden ist. Elephant Bird in Version 2 mit Unterstützung für Pig 0.8 ist zum Gegenwärtigen Zeitpunkt noch in der Entwicklung. Um den aktuellen Snapshot zu bauen, müsst ihr die Quellen aus git kompilieren.
Der Name der Jar Datei und auch die Paketnamen der Pig Loader haben sich verändert. Hier ein Beispiel Pig Script:
Der Protocol Buffers Compiler ist den Ubuntu Paketquellen enthalten und vorinstalliert, andernfalls könnt ihr ihn je nach Distribution wie folgt nachinstallieren.
Elephant Bird benötigt außerdem, dass Thrift auf eurem Computer installiert ist. Wie ihr Thrift installieren könnt erfahrt ihr in diesem Wiki Beitrag: [wiki]Apache Thrift Installation[/wiki]
Um die JAR Dateien für Elephant Bird zu bauen wird ant verwendet. Neben ant müsst ihr noch die aktuelle JDK installieren.
Statt der Sun JDK könnt ihr natürlich auch openjdk-6-jdk verwenden. Aber gerade wenn ihr die Cloudera Distribution verwendet, dann bringen einige Pakete die Sun JDK bereits als Paketabhängigkeit mit.
Ladet euch nun die aktuellste stabile Version von Elephant Bird herunter: github.com/kevinweil/elephant-bird
Mit wget funktioniert der Download wie folgt. Ihr solltet den SSL Check für github deaktivieren.
Nun entpackt ihr die Dateien und startet anschließend das Bauen der JAR Dateien
Die erfolgreiche Installation sieht bei mir wie folgt aus:
Quellcode
- Buildfile: /home/tb/elephant-bird/build.xml
- release:
- [echo] Building in release mode...
- init:
- compile-protobuf:
- [exec] Result: 1
- [apply] Applied thrift to 1 file and 0 directories.
- [apply] Applied protoc to 4 files and 0 directories.
- [javac] /home/tb/elephant-bird/build.xml:170: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
- [javac] Compiling 9 source files to /home/tb/elephant-bird/build/classes
- [javac] Note: Some input files use unchecked or unsafe operations.
- [javac] Note: Recompile with -Xlint:unchecked for details.
- [javac] /home/tb/elephant-bird/build.xml:116: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
- [javac] Compiling 45 source files to /home/tb/elephant-bird/build/classes
- [javac] /home/tb/elephant-bird/src/java/com/twitter/elephantbird/pig/util/ProtobufToPig.java:13: warning: com.sun.org.apache.xerces.internal.impl.dv.xs.SchemaDateTimeException is Sun proprietary API and may be removed in a future release
- [javac] import com.sun.org.apache.xerces.internal.impl.dv.xs.SchemaDateTimeException;
- [javac] ^
- [javac] Note: Some input files use or override a deprecated API.
- [javac] Note: Recompile with -Xlint:deprecation for details.
- [javac] Note: Some input files use unchecked or unsafe operations.
- [javac] Note: Recompile with -Xlint:unchecked for details.
- [javac] 1 warning
- compile:
- [javac] /home/tb/elephant-bird/build.xml:90: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
- [javac] Compiling 52 source files to /home/tb/elephant-bird/build/classes
- [javac] Note: Some input files use or override a deprecated API.
- [javac] Note: Recompile with -Xlint:deprecation for details.
- jar:
- [mkdir] Created dir: /home/tb/elephant-bird/dist
- [jar] Building jar: /home/tb/elephant-bird/dist/elephant-bird-1.2.1.jar
- release-jar:
- BUILD SUCCESSFUL
- Total time: 9 seconds
Ihr findet die Elephant Bird JAR Datei von Elephant Bird im dist Ordner.
== Elephant Bird mit Pig 0.8 ==
Elelphant Bird in der Version 1 unterstütz kein Pig 0.8, wie es in den Cloudera Quellen zu finden ist. Elephant Bird in Version 2 mit Unterstützung für Pig 0.8 ist zum Gegenwärtigen Zeitpunkt noch in der Entwicklung. Um den aktuellen Snapshot zu bauen, müsst ihr die Quellen aus git kompilieren.
Der Name der Jar Datei und auch die Paketnamen der Pig Loader haben sich verändert. Hier ein Beispiel Pig Script:
8.779 mal gelesen