表格在Hive中不可见

时间:2016-07-02 16:15:30

标签: hadoop hive hiveql sqoop

我在Mysql中创建了一个表,“A”

我在Hive中创建了一个数据库 - “hiveankit”

当我尝试使用以下命令将表A导入目标数据库时:

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

结果如下:

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

[training@localhost ~]$ 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

为什么我收到此错误。

我错过了任何步骤吗?

1 个答案:

答案 0 :(得分:0)

导入命令应该包含“ - hive-table”“ - create-hive-table”“ - hive-import” 在sqoop导入期间自动创建Hive表的选项。我通过添加这些选项修改了您的代码(见下文)。如果没有这些选项,Sqoop导入将只将数据复制到HDFS,并且不会创建Hive表。

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;