在使用命令行界面时,有什么方法可以识别用户正在使用哪个数据库?
7 回答
要知道哪个数据库用户在
hive> set hive.cli.print.current.db=true
或从 hive 开始
hive --hiveconf hive.cli.print.current.db=true
然后会显示提示
hive (db_name)>
有两种方法可以知道当前数据库。一个是临时的,第二个是持久的。
1) 在 CLI 中输入以下命令:set hive.cli.print.current.db=true;
2) 在 hive-site.xml 中粘贴以下代码:
<属性> <name>hive.cli.print.current.db</name> <值>真</值> </属性>
在第二种情况下,您可以在打开终端时自动显示 Hive 数据库名称。
设置 hive.cli.print.current.db=true ; 仅在当前配置单元会话中设置属性。如果一个人不在会话中,该设置将被重置为默认值(假)。
为了能够在会话和用户中一致地看到数据库名称,root 用户可以在 /etc/hive/conf 中创建带有所需参数值的 .hiverc 文件。在这种情况下,添加 set hive.cli.print.current.db=true; 这些设置现在应用于登录到 hive CLI 的所有用户。
如果用户不是 root 用户,请在主目录 /home/<> 中创建 .hiverc 文件。该设置将在用户的所有 hive 会话中有效。
一种简单的方法(如果数据库中有表):
desc extended {table_name};
从输出中,dbName 就是您要查找的内容。
在更新 conf 属性时,设置 hive.cli.print.current.db=true 将显示当前会话的当前数据库。
使用上述属性更新 .hiverc 文件将继续显示所有会话的当前数据库。
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
用于在 hive cli 中保持数据库名称的持久性。
添加设置 hive.cli.print.current.db=true; 到 .hiverc 文件。
如果 .hiverc 在 hive/conf 下不存在,则创建一个。
如果尝试添加 hive-site.xml,它不会反映