Gibt es eine Möglichkeit, die Ergebnisse von Pig direkt in eine Datenbank wie mysql zu exportieren?Eine Möglichkeit, die Ergebnisse von Pig in eine Datenbank zu exportieren
Antwort
Während Sie daran denken, was Orangeoctopus gesagt hat (Vorsicht vor DDOS ...), haben Sie einen Blick auf DBStorage geworfen?
data = LOAD '...' AS (...);
...
STORE data INTO DBStorage('com.mysql.jdbc.Driver', 'dbc:mysql://host/db', 'INSERT ...');
Das Hauptproblem, das ich sehe, ist, dass jeder Reducer ungefähr zur gleichen Zeit effektiv in die Datenbank eingefügt wird.
Wenn Sie nicht denken, dass dies ein Problem sein wird, schlage ich vor, schreiben Sie eine custom Storage method, die JDBC (oder etwas ähnliches) verwendet, um direkt in die Datenbank einfügen und nichts in HDFS schreiben.
Wenn Sie Angst davor haben, eine DDOS-Attacke auf Ihre eigene Datenbank durchzuführen, wäre es vielleicht besser, die Daten auf HDFS zu sammeln und eine separate Massenladung in MySQL durchzuführen.
Ich experimentiere gerade mit einer eingebetteten Pig-Anwendung, die Ergebnisse in mysql über PigServer.OpenIterator und eine JDBC-Verbindung lädt. Es hat beim Testen sehr gut funktioniert, aber ich habe es noch nicht im Maßstab getestet. Dies ist ähnlich der bereits vorgeschlagenen benutzerdefinierten Speichermethode, läuft aber von einem einzigen Punkt aus, also kein zufälliger DDOS-Angriff. Sie zahlen effektiv die Netzwerktransferkosten zweimal (Cluster -> Staging-Maschine, Staging-Maschine -> DB-Server), wenn Sie die Last nicht vom DB-Server ausführen (ich persönlich bevorzuge nichts außer der DB selbst von der DB) Server), aber das ist nicht anders als die Option "schreibe die Datei aus und lade sie".
Sqoop kann der gute Weg zu gehen, aber es ist schwierig, Set-up (IMHO), da diese alle Hadoop Projekte ...
Schweine DBStorage ist funktioniert gut (zumindest zum Speichern).
Vergessen Sie nicht, die Piggybank und Ihre MySQL-Treiber zu registrieren:
-- Register Piggy bank
REGISTER /opt/cmr/pig/pig-0.10.0/lib/piggybank.jar;
-- Register MySQL driver
REGISTER /opt/cmr/mysql/drivers/mysql-connector-java-5.1.15-bin.jar
Hier ist ein Beispielaufruf:
-- Store a relation into a SQL table
STORE relation INTO 'unused' USING org.apache.pig.piggybank.storage.DBStorage('com.mysql.jdbc.Driver', 'jdbc:mysql://<mysqlserver>/<database>', '<login>', '<password>', 'REPLACE INTO <table> (<column1>, <column2>) VALUES (?, ?)');
- 1. Eine Möglichkeit, Tabellendaten aus Mysql zu Pig
- 2. Gibt es eine Möglichkeit, die Ergebnisse einer WMI-Abfrage mit wbemtest zu exportieren?
- 3. Gibt es eine Möglichkeit, die Vektordaten eines DisplayObject zu exportieren?
- 4. Gibt es eine Möglichkeit, eine Generatorfunktion zu exportieren?
- 5. Wie CSV/TSV-Dateien von Pig zu Pandas laden/exportieren?
- 6. Apex exportieren/importieren von einer Datenbank in eine andere Datenbank
- 7. Einfachste Möglichkeit, eine MySQL-Datenbank zu kopieren?
- 8. Exportieren von Bildern in eine Wordpress-Datenbank eingebettet
- 9. Gibt es eine Möglichkeit, Ergebnisse in Haskell zu "konservieren"?
- 10. Wie Ergebnisse von Bootstrapping in R exportieren?
- 11. Gibt es eine Möglichkeit, eine Oracle-Tabellendefinition programmgesteuert von einer Datenbank in eine andere zu verschieben?
- 12. Gibt es eine Möglichkeit Xcode Tastenbelegungen zu exportieren?
- 13. Wie kann man eine Datenbank von einer Amazon RDS MySQL-Instanz in eine lokale Instanz exportieren?
- 14. Gibt es eine nicht-chaotische Möglichkeit, die Ergebnisse von Funktionen zu verketten, die Optionswerte zurückgeben?
- 15. Exportieren von AppEngine-Datenbank in die lokale Entwicklungsdatenbank?
- 16. Gibt es eine Möglichkeit, die Ergebnisse oder Daten von Matlab zu Mathematica automatisch zu importieren?
- 17. Gibt es eine schnelle Möglichkeit, eine WAR-Datei in Eclipse 3.4 zu exportieren?
- 18. Ist es möglich, eine DLL aus dem Prozessspeicher in eine Datei zu exportieren/zu exportieren?
- 19. Hat Bash eine Möglichkeit, eine Variable un-Export zu exportieren, ohne sie zu deaktivieren?
- 20. Exportieren von Datenbank zu xls (Laravel 5)
- 21. Gibt es eine Möglichkeit, ein ActiveRecord-Objekt zu samen.rb zu exportieren?
- 22. Exportieren von Daten von Excel zu SQLite-Datenbank
- 23. Explodiere die Ergebnisse, um eine verschachtelte Baumstruktur zu einer Datenbank in PHP hinzuzufügen und zu sortieren
- 24. Gibt es eine Möglichkeit, eine Spaltenüberschrift in einer Datenbank als eine Variable in Python zu verwenden?
- 25. Gibt es eine Möglichkeit, eine MySQL-Datenbank für Änderungen mit Perl zu beobachten?
- 26. Gibt es eine Möglichkeit, xcode-Buildeinstellungen in die .xcconfig-Datei zu exportieren?
- 27. Gibt es eine Möglichkeit, eine Visual Studio 2008-Lösung zu "exportieren"
- 28. Gibt es eine Möglichkeit, eine gesamte Neo4j-Datenbank über die REST-API zu löschen?
- 29. Exportieren von Datenbankberechtigungen in eine CSV-Datei
- 30. Gibt es eine Möglichkeit, die Ergebnisse eines Funktionsaufrufs in R zu filtern?
Scheint, als ob es keine Möglichkeit gibt um ist eine UDF zu schreiben, die JDBC verwendet. .Vielen Dank! – Christoph