18

在使用命令行界面时,有什么方法可以识别用户正在使用哪个数据库?

4

7 回答 7

31

要知道哪个数据库用户在

hive> set hive.cli.print.current.db=true

或从 hive 开始

hive --hiveconf hive.cli.print.current.db=true

然后会显示提示

hive (db_name)>
于 2013-08-01T06:14:46.657 回答
5

有两种方法可以知道当前数据库。一个是临时的,第二个是持久的。

1) 在 CLI 中输入以下命令:set hive.cli.print.current.db=true;

2) 在 hive-site.xml 中粘贴以下代码:

    <属性>
    <name>hive.cli.print.current.db</name>
    <值>真</值>
    </属性>
     

 

在第二种情况下,您可以在打开终端时自动显示 Hive 数据库名称。

于 2015-05-08T12:25:23.423 回答
5

设置 hive.cli.print.current.db=true ; 仅在当前配置单元会话中设置属性。如果一个人不在会话中,该设置将被重置为默认值(假)。

为了能够在会话和用户中一致地看到数据库名称,root 用户可以在 /etc/hive/conf 中创建带有所需参数值的 .hiverc 文件。在这种情况下,添加 set hive.cli.print.current.db=true; 这些设置现在应用于登录到 hive CLI 的所有用户。

如果用户不是 root 用户,请在主目录 /home/<> 中创建 .hiverc 文件。该设置将在用户的所有 hive 会话中有效。

于 2016-09-17T18:32:45.850 回答
4

一种简单的方法(如果数据库中有表):

desc extended {table_name};

从输出中,dbName 就是您要查找的内容。

于 2017-03-14T02:13:46.157 回答
2

在更新 conf 属性时,设置 hive.cli.print.current.db=true 将显示当前会话的当前数据库。

使用上述属性更新 .hiverc 文件将继续显示所有会话的当前数据库。

于 2013-08-02T12:39:06.597 回答
2
1)Permanent solution: 
Change this property in hive-site.xml file under HIVE_HOME/conf folder

   <property>
    <name>hive.cli.print.current.db</name>
    <value>true</value>
    <description>Whether to include the current database in the Hive prompt.
    </description>
    </property>
2)Temporary solution:
go to hive prompt enter this
    hive> set hive.cli.print.current.db=True
于 2017-07-10T11:31:19.037 回答
1

用于在 hive cli 中保持数据库名称的持久性。

添加设置 hive.cli.print.current.db=true; 到 .hiverc 文件。

如果 .hiverc 在 hive/conf 下不存在,则创建一个。

如果尝试添加 hive-site.xml,它不会反映

于 2015-10-12T14:00:24.017 回答