1. 如何在hive的shell中使用hadoop shell 和linux的命令
其实把hive做到shell里面最大的优势是可以定时执行,比如之前做一个论坛用户日志分析的时候,需要定时对hive导入数据,并在hive里面对数据做预处理,最后把hive处理的数据导入到hbase中 这样的实现起来用java显然就没有用shell有优势,因为shell写好了丢那 执行linux定时任务就好了,但是shell有个明显的缺陷就是不灵活,不能根据需求和功能做灵活调用,这时候做到java里面就比用shell写死的好很多,比如做即时需求,点某个功能按键的时候就需要跑hive,明显就是java更好嘛
2. 如何查看hivesql里执行了哪些查询
思路
当我们在终端下执行命令“hive”后,会看到有如下输出:
Hive有会话(Session)的概念,而这次会话中的所有日志消息将会输出到这个日志文件中,包含SQL语句的执行日志,查看这个日志文件可以看到以下信息:
3. 如何查看当前hive版本号
hive没有直接查询当前版本的操作,不过我们可以通过查询 jar包的方式间接知道当前hive的版本.
[root@h3~]#hive
当前版本为: 1.1.0-cdh5.10.0
4. 怎么查看hive用的是mysql还是别的数据库的命令
怎么查看hive用的是mysql还是别的数据库的命令
1
进入HIVE之前要把HADOOP给启动起来,因为HIVE是基于HADOOP的。所有的MR计算都是在HADOOP上面进行的。
2
在命令行中输入:hive。这个时候就可以顺利的进入HIVE了。当然了,如果你想直接执行HQL脚本文件可以这样:hive -f xxxxx.hql。
3
进入hive之后一一般默认的数据库都是default。如果你切换数据库的话所建的表都会是在default数据库里面。
5. hive shell的历史记录怎么清除
1、建立一个文件来存储常用命令,例如/root/history.txt,把常用命令当成文本写进去,每个命令占一行 2、在终端运行history -c,清除杂乱的历史记录 3、运行history -r /root/history.txt,把命令读进来作为当前bash的历史记录
6. hive怎么实现update操作
1、要想使用Hive首先需要启动hadoop,因为hive的使用是依赖于hadoop的hdfs文件系统以及MapRece计算的,下图是启动hadoop,如下图。
7. hive 和 beeline 命令的区别
HIVE的配置文件里hive.server2.long.polling.timeout这个参数是5000L,在运行时HIVE解析报错,我感觉这是一个通病,所有人应该都会遇到,在GOOGLE里找到的,不知道大神们是没遇到,还是不屑一顾,把5000l该成5000就行
8. 1个hive命令生成几个JOB
这个取决于你的hql里面到底涉及到多少运算语句。
通常对一个表格的一次处理就会有一个job
如果你的命令里有join on这种,涉及多个查询,组合,那就会有多个job
9. hive起不来,命令行输hive时,报错信息如下:
可以再/hive/bin目录下输入 hive -hiveconf hive.root.logger=debug,console 然后再输入你报错的hql语句,会有更详细的错误提示,这个调试模式很管用的,希望能帮上。
10. 执行hive命令时没有反应
1 首先要看一下Hive服务正常起来没。
2 看一下hive配置的Xml文件是否配置正确。
希望把xml发上来 说一下具体配置的细节、才能定位问题