Ich habe Probleme wurde mit Blick auf, während Tabellen aus RDBMS durch Sqoop importieren, ich bin die Ausführung des Befehls mit der folgenden Syntax:Sqoop Import bezogene Abfrage
sqoop import --connect jdbc:sqlserver://<hostname>:<port>;username=xxx;password=xxx;database=xxx --table xxx --hive-import --create-hive-table --hive-table xxxx
Wenn ich es durch Befehlszeile bin die Ausführung seiner Arbeit in Ordnung, aber wenn ich versuche, durch Shell-Skript auszuführen, es wirft den folgenden Fehler:
"error tool.basesqooptool got error creating database manager"
ich verschiedene Permutation Kombination versucht haben, immer noch nicht funktioniert
habe ich --username
--password
verwendet, dann den db-Namen rechts neben die Portnummer verschoben, habe ich --driver
verwendet. Aber nichts funktioniert.
Ich habe ähnliche Diskussionen bei SO überprüft, aber keiner von ihnen funktioniert für mich. $SQOOP_HOME/lib
hat die erforderliche Bibliothek. Der Besitz und der Gruppenbesitz entspricht root:root
. Der "Benutzer" hat jedoch nur read
Erlaubnis, und ich stelle fest, dass es im selben Pfad viele andere Bibliotheken gibt, und der "Benutzer" hat rw
Erlaubnis. Trotzdem glaube ich, dass, da der Befehl über CLI funktioniert, keine Probleme mit dem Skript auftreten sollten. Ich möchte nicht mit der Erlaubnis spielen, da es eine sehr eingeschränkte Umgebung ist, möchte ich das als letzte Option beibehalten.
Jede Hilfe wird geschätzt.
Versuchen Sie, Ihre JDBC-URL doppelt anzugeben –