2016-06-02 3 views
0

Ich benutze SQOOP als eine Technologie, um viele Daten von MySQL zu HDFS herunterladen. manchmal muss ich einige spezielle Abfragen in shoop schreiben, um die Daten herunterzuladen.Unit Testing Sqoop Anwendungen

Eines der Probleme, die ich mit sqoop fühle ist, dass es praktisch nicht testbar ist. Es gibt absolut keine Anleitung oder Technologie zum Unit-Test.

Wenn jemand squoop für die Datenintegration verwendet. Wie testen Sie Ihre sqoop-Anwendungen?

Antwort

2

Afaif ab jetzt gibt es keine Einheit Test-Frameworks für Sqoop, können Sie unter Ansatz folgen

1) einen Sqoop eval Job einplanen, die Quellabfrage haben Ausgabe von Quelltabelle angezeigt werden soll.

$ sqoop eval --connect jdbc:mysql://db.example.com/corp \ 
     --query "SELECT * FROM employees LIMIT 10" 

2) Ausführen der entsprechenden Bienenstock Abfrage oder hdfs Befehls-Shell um die Daten zu erhalten oder nach zählen Sqoop abgeschlossen sind.

0

Wenn Sie keine Freiformabfragen über --query verwenden, können Sie die integrierte Option --validate verwenden, um die Anzahl der Datensätze in Quellentabelle und HDFS abzugleichen. Leider wird es bei großen Tabellen in MS SQL fehlschlagen (Datensatzanzahl> int Kapazität), weil Sqoop count_big() nicht bekannt ist.