我通过 sqoop 将 oracle 数据库的几个表导入到 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 导入没有使用相同的元存储。
但是它在哪里呢?以及如何在使用命令行查询时切换到它?
谢谢
最佳答案
我认为整个问题都在嵌入式 Metastore 中,因为 HIVE 会在默认情况下不存在于用户当前工作目录中的情况下创建它。因此 Sqoop 最终将使用与 hive 不同的元存储。我建议将 MySQL 配置为 Metastore 的后端。
关于hadoop - Sqoop 导入后无法查询 Hive 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14276707/