Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Eine Möglichkeit, Tabellendaten von Mysql nach Pig zu lesen

Wie Sie sagen, DBStorage unterstützt nur das Speichern von Ergebnissen in einer Datenbank.

Um Daten aus MySQL zu laden, können Sie sich ein Projekt namens sqoop ansehen (das Daten aus einer Datenbank in HDFS kopiert), oder Sie könnten einen MySQL-Dump durchführen und dann die Datei in HDFS kopieren. Beide Wege erforderten eine gewisse Interaktion und können nicht direkt innerhalb von Pig verwendet werden.

Eine dritte Option wäre das Schreiben einer Pig LoadFunc (Sie sagen, Sie haben versucht, eine UDF zu schreiben). Es sollte nicht allzu schwierig sein, Sie müssen im Wesentlichen die gleichen Optionen wie DBStorage übergeben (Treiber, Anmeldeinformationen für die Verbindung und eine auszuführende SQL-Abfrage), und Sie können wahrscheinlich eine Metadatenprüfung der Ergebnismenge verwenden, um auch automatisch ein Schema zu generieren.