Hive Shell技巧
只执行一次Hive命令
通过shell的参数 -e 可以执行一次就运行完的命令
[root@qianfeng01 hive]# hive -e "select * from cat"
小技巧2:可以通过外部命令快速查询某个变量值:
hive -S -e "set" |grep cli.print
-S 是静默模式,会省略到多余的输出
单独执行一个sql文件
通过参数-f +file文件名就可以,经常用在以后的sql文件单独执行,导入数据场景中 【执行的的是hive默认的default数据库】
[root@qianfeng01 hive]# hive -f /path/cat.sql
小技巧:在Hive的客户端内,可以通过source命令来执行一个sql
执行Linux命令
在Hive的shell中 加上前缀! 最后以分号;结尾,可以执行linux的命令
hive> ! pwd ;
执行HDFS命令
用户可以在Hive的shell中执行HDFS的DFS命令,不用敲入前缀hdfs或者hadoop
hive> dfs -ls /tmp
使用历史命令和自动补全
在Hive的Shell操作中可以使用上下箭头查看历史记录
如果忘记了命令可以用tab键进行补全
显示当前库
下面是通过配置文件hive-site.xml
显示
<property>
<name>hive.cli.print.current.db</name>
<value>false</value>
<description>Whether to include the current database in the Hive prompt.</description>
</property>
当前session里设置该参数
hive> set hive.cli.print.current.db=true;
查看当前参数设置的值
小技巧1:可以在shell中输入set命令,可以看到hive已经设定好的参数
hive> set hive.cli.print.current.db;
local模式
大多数的Hadoop, Job是需要Hadoop提供的完整的可扩展性来处理大数据集的。有的时候 Hive的输入数据量是非常小的。在这种情况下,为查询触发执行任务的时间消耗可能会比实 际job的执行时间要多得多。对于大多数这种情况,Hive 可以通过本地模式在单台机器上(或 某些时候在单个进程中)处理所有的任务。对于小数据集,执行时间可以明显被缩短。
启用本地模式允许的最大输入文件数
如果出现打开文件过多的错误:
vim /etc/sectrity/limits.conf 在下方添加: root soft nofile 65535 root hard nofile 65535
更多大数据精彩内容欢迎B站搜索“千锋教育”或者扫码领取全套资料
【千锋教育】大数据开发全套教程,史上最全面的大数据学习视频