Ich weiß, wie ein Hive-UDF mit transform
und using
erstellen, aber ich kann sklearn
nicht verwenden, da nicht alle Knoten im Hive-Cluster sklearn
hat.
Ich habe eine anaconda2.tar.gz
mit sklearn
, Was soll ich tun?Wie erstelle ich ein udf für den Bienenstock mit Python mit 3rd-Party-Paket wie Sklearn?
Antwort
Ich habe vor kurzem begonnen, diesen Ansatz zu untersuchen, und ich habe das Gefühl, dass das Problem nicht darin besteht, alle 'Hive Nodes' mit Sklearn zu bekommen (wie Sie oben erwähnt haben), ich glaube, es ist eher ein Kompatibilitätsproblem als ' slearn Knoten Verfügbarkeit 'eins. Ich denke, sklearn ist (noch) nicht so ausgelegt, dass es als paralleler Algorithmus läuft, so dass große Datenmengen in kurzer Zeit verarbeitet werden können.
Was ich versuche als Ansatz zu tun, ist, Python zu ‚Bienenstock‘ bis ‚pyhive‘ zu kommunizieren (zum Beispiel) und implementieren die notwendigen sklearn Bibliotheken/Anrufe innerhalb dieses Code. Die grobe Annahme hier, dass dieser "Sklearn-Hive-Python" -Code in jedem Knoten laufen und sich mit den Daten auf der 'Map-Reduce'-Ebene befassen wird. Ich kann nicht sagen, dass dies die richtige Lösung oder korrekter Ansatz (noch) ist, aber das ist, was ich nach der Suche nach etwas schließen kann.
danke. Ich benutze 'sklearn' für einen Nur-Hive-Map-Job, also gibt es keine Kommunikation zwischen Jobs (wie Reduzieren). – sigmoid
Sie können auf hdfs-Dateien über 'spark' zugreifen und dann können Sie 'spark-sklearn' (https://pypi.python.org/pypi/spark-sklearn/0.2.0) verwenden. Ich würde lieber Python direkt mit hadoop reden lassen und alle notwendigen Map-Reduce-Arbeiten machen und dann arbeite ich an den Ausgabedaten via Spark-sklearn (Daten sind groß und in einigen Data-Warehouse in Ihrer Maschine gespeichert). Ich glaube, Spark-Sklearn sollte sich um die Datengröße kümmern. –
- 1. Wie erstelle ich ein animiertes GIF in Python mit Wand?
- 2. Wie Mindestwerte für doppelte IDs mit Bienenstock
- 3. Wie erstelle ich ein pdf mit webservice
- 4. Wie erstelle ich ein GroundOverlay mit OSMDroid?
- 5. Wie erstelle ich ein Meldungsfeld mit tkinter?
- 6. Wie erstelle ich einen benutzerdefinierten Transformer aus einer UDF?
- 7. Wie erstelle ich ein Kreisdiagramm mit Bokeh?
- 8. Wie erstelle ich ein Zertifikat für den gitblit Server?
- 9. Wie erstelle ich ein Leinwandauswahlwerkzeug?
- 10. Wie erstelle ich ein test Benutzerkonto für den inapp Kauf?
- 11. Wie erstelle ich ein Kartensymbol?
- 12. Wie erstelle ich ein PDF?
- 13. Wie erstelle ich einen Textknoten mit lxml?
- 14. Wie setze ich benutzerdefinierte Stoppwörter für den Sklearn CountVectorizer?
- 15. Hive Udf für TOP funtion
- 16. Wie erstelle ich einen Timer mit tkinter?
- 17. Wie erstelle ich ein Frühlingsprojekt?
- 18. Python: Wie erstelle ich einen eindeutigen Dateinamen?
- 19. Wie erstelle ich ein Sternenbewertungssystem?
- 20. Wie erstelle ich ein Singleton?
- 21. Wie erstelle ich ein APK
- 22. Wie erstelle ich ein Attribut?
- 23. SUMO Verkehrsmodellierung: Wie erstelle ich ein Netzwerk mit der Regel für den linken Antrieb?
- 24. Wie erstelle ich ein Tupel eines leeren Tupels in Python?
- 25. wie Sätze mit Bienenstock zu vergleichen
- 26. Wie erstelle ich eine Liste mit festen Größen in Python?
- 27. Wie erstelle ich einen Python-Satz mit nur einem Element?
- 28. Wie erstelle ich ein Text-Makro mit der ausgewählten Codezeile?
- 29. Wie erstelle ich ein GIT-Repository in XCode mit VSO?
- 30. Wie erstelle ich ein Namespace-Paket in Python?
Eine Lösung besteht darin, den gesamten Quellcode in Ihr UDF zu kopieren. Ich hatte eine Pig-UDF, die itertools benötigte, aber die Python-Version, die wir haben, ist 2.6.6, die keine itertools hat. Also habe ich die Implementierung von Permutationen nachgeschlagen und einfach in meine UDF eingefügt. Anstatt "itertools.permutations" zu nennen, habe ich einfach "Permutationen" genannt, die in meiner UDF definiert wurden. Dies ist möglicherweise nicht machbar, wenn die Funktion, die Sie benötigen, viele Abhängigkeiten hat. Eine weitere Option ist die Installation von scikit-learn auf jedem Knoten. – gobrewers14