Elastic Map Reduzieren Sie externe Jars

8

So ist es einfach genug, externe Gläser zu handhaben, wenn Sie Hadoop direkt verwenden. Sie haben die Option -libjars, die dies für Sie tun wird. Die Frage ist, wie Sie das mit EMR tun. Es muss einen einfachen Weg geben, es zu tun. Ich dachte -cachefile Option der CLI würde es tun, aber ich konnte es irgendwie nicht funktionieren. Irgendwelche Ideen jemand?

Danke für die Hilfe.

    
delmet 14.06.2011, 00:03
quelle

3 Antworten

6

Das beste Glück, das ich mit externen jar-Abhängigkeiten hatte, ist, sie (über die Bootstrap-Aktion) in /home/hadoop/lib im gesamten Cluster zu kopieren. Dieser Pfad befindet sich auf dem Klassenpfad jedes Hosts. Diese Technik scheint die einzige zu sein, die funktioniert, unabhängig davon, wo der Code lebt, der auf externe Jars zugreift (Tool, Job oder Task).

    
Judge Mental 13.07.2012 03:45
quelle
3

Eine Option besteht darin, die JARs im ersten Schritt in Ihrem Jobflow einzurichten, wo auch immer sie sein müssen. Oder, wenn sie Abhängigkeiten sind, können Sie sie mit Ihrer Anwendungs-JAR verpacken (was wahrscheinlich in S3 ist).

    
ajduff574 15.06.2011 04:43
quelle
0

FYI für neuere Versionen von EMR / home / hadoop / lib wird nicht mehr verwendet. / usr / lib / hadoop-mapreduce sollte verwendet werden.

    
user1015492 17.04.2017 09:49
quelle

Tags und Links