无法通过在 cloudera quickstart VM 中使用 hue 创建的命令行找到 hive 表

Posted

技术标签:

【中文标题】无法通过在 cloudera quickstart VM 中使用 hue 创建的命令行找到 hive 表【英文标题】:Unable to find the hive table through command line which is created using hue in cloudera quickstart VM 【发布时间】:2017-05-06 02:50:14 【问题描述】:

我正在使用 cloudera 快速入门虚拟机。通过 hue,我创建了一个 Oozie 作业并使用该作业创建了一个蜂巢表。作业执行成功。当我从桌面打开终端并连接到配置单元时,我看不到那里的表格。

我知道在独立集群中,配置单元元存储被创建到我们访问配置单元的位置。例如,如果我从桌面打开终端并创建一个配置单元表 tab1,那么配置单元元数据将仅在桌面创建。如果我从桌面以外的其他目录启动终端,那么我将无法在 hive 中看到 tab1。

这里也是如此。 Oozie 可能会从某个不同的目录位置启动 hive,因此我无法从 Desktop 中看到该表。

有人可以帮我查看表格吗?

【问题讨论】:

您是否将有效的hive-site.xml 传递给您的 Oozie 操作,以便它可以连接到 mysql 中的 持久元存储,正如 D.M. 所解释的那样?否则,Oozie 操作只会在 Derby 中启动一个私有的、易变的元存储,当作业结束时,您在其中创建的所有内容都会丢失。 【参考方案1】:

这似乎不对。 Cloudera 快速入门附带一个 MySQL 元存储。

bash-4.1$ </etc/hive/conf/hive-site.xml grep -A1 jdo

    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://127.0.0.1/metastore?createDatabaseIfNotExist=true</value>
--
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
--
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
--
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>cloudera</value>
bash-4.1$ 

bash-4.1$ mysql -uhive -pcloudera
mysql> select tbl_name from metastore.TBLS;

+----------------------------+
| tbl_name                   |
+----------------------------+
| my_tbl_1                   |
| my_tbl_2                   |
| my_tbl_3                   |
+----------------------------+
3 rows in set (0.10 sec)

mysql> 

【讨论】:

以上是关于无法通过在 cloudera quickstart VM 中使用 hue 创建的命令行找到 hive 表的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 Cloudera QuickStart VM 在 HIVE 中执行加入操作

如何在 cloudera quickstart VM 中创建 kudu 表

免安裝免設定的 Hadoop 開發環境 - cloudera 的 QuickStart VM

无法在 Windows 10 机器上使用 .vmdk 运行 cloudera VM

ConnectionRefused 尝试使用 cloudera 连接到 hadoop

虚拟盒安装在启动时导致错误