2016-07-02 18 views
1

ich eine Tabelle in Mysql erstellt haben, "A"Tabelle ist nicht sichtbar in Hive

Und ich habe eine Datenbank in Hive erstellt - "hiveankit"

Wenn ich versuche, Tabelle A die importieren Zieldatenbank mit dem folgenden Befehl:

[[email protected] ~]$ sqoop import --connect jdbc:mysql://localhost/march2015 --username root --table A -m 1 --target-dir hiveankit; 

Dies ist das Ergebnis:

16/07/02 08:53:19 INFO mapreduce.ImportJobBase: Retrieved 15 records. 

[[email protected] ~]$ hive; 
Hive history file=/tmp/training/hive_job_log_training_201607020853_1580004608.txt 
hive> show databases; 
OK 
default 

hiveankit 

Time taken: 3.029 seconds 

hive> use hiveankit; 
OK 
Time taken: 0.044 seconds 

hive> select * from A; 
FAILED: Error in semantic analysis: Line 1:14 Table not found A 

Warum erhalte ich diese erro r.

Fehle ich irgendwelche Schritte?

+0

versuchen, den vollständigen Namen der Tabelle dbname.table ... zu geben und zu überprüfen, ob die Tabelle existiert. Tabellen anzeigen; –

+1

'Tabelle nicht gefunden A' ... haben Sie überprüft, ob Ihre Tabelle existiert oder erstellt wurde? – alariva

Antwort

0

Der Importbefehl "--hive-Tabelle" haben sollte, "--create-Nest-Tabelle" und "--hive-Import" Optionen automatisch Hive Tabelle während Sqoop Import zu erstellen. Ich habe Ihren Code geändert, indem Sie diese Optionen hinzugefügt haben (siehe unten). Ohne diese Optionen kopiert der Sqoop-Import nur die Daten in HDFS und eine Hive-Tabelle wird NICHT erstellt.

sqoop-import --connect jdbc:mysql://localhost/march2015 --username root --table A --hive-table ${hive_db_name}.A --create-hive-table --hive-import -m 1 --target-dir hiveankit;