Hive_Shell操作

v2-4b22527985384cedba02ae95e6d244cc_250x0

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站搜索“千锋教育”或者扫码领取全套资料   

【千锋教育】大数据开发全套教程,史上最全面的大数据学习视频

猜你喜欢

转载自blog.csdn.net/longz_org_cn/article/details/131822188
今日推荐