Sqoop 导入后无法查询 Hive 表

Posted

技术标签:

【中文标题】Sqoop 导入后无法查询 Hive 表【英文标题】:Cant Query Hive Tables after Sqoop import 【发布时间】:2013-01-11 10:59:03 【问题描述】:

我通过 sqoop 将几个 oracle db 表导入 hive。该命令看起来像这样:

./sqoop import --connect jdbc:oracle:thin:@//185.2.252.52:1521/orcl --username USER_NAME --password test --table TABLENAME--hive-import

我正在使用嵌入式 Metastore(至少我是这么认为的。在这方面我没有更改默认配置)。当我在 HIVE 中执行 SHOW TABLES 时,导入的表不会显示,但我为通过命令行测试创建的一些表会显​​示。这些表都在 hdfs 上的同一个仓库目录中。似乎 sqoop 导入没有使用相同的元存储。

但是它在哪里呢?以及在使用命令行查询时如何切换到它?

谢谢

【问题讨论】:

【参考方案1】:

我认为整个问题出在嵌入式 Metastore 中,因为 HIVE 会在默认情况下创建它,以防它在用户当前工作目录中不存在。因此 Sqoop 最终将使用与 hive 不同的元存储。我建议将 mysql 配置为 Metastore 的后端。

【讨论】:

以上是关于Sqoop 导入后无法查询 Hive 表的主要内容,如果未能解决你的问题,请参考以下文章

sqoop从oracle导数据后是空表

无法从 Hive 的 RDMS 导入表

Sqoop 增量导入“无法将文件附加到目标目录”

如何用sqoop将hive分区表信息导入到mysql命令

sqoop导入到hive数据表怎么查询不到?

使用 sqoop 将表从 RDBMS 导入 HIVE 后约束是不是仍然存在?