CLI,command line interface
,最常用的命令行接口。
参数 | 说明 |
---|---|
-d,—define <key=value> | 指定参数 |
—database | 数据库名称 |
-e | 指定查询的字符串,比如select语句 |
-f | 指定文件 |
-H, -help | 显示帮助 |
-h | 主机名 |
—hiveconf | 类似-d效果 |
-hivevar | 定义变量 |
-i | 进入shell之前,先执行指定的文件 |
-p | 指定远程连接的端口 |
-S,—silent | 静默模式,很多内容忽略 |
-v,—verbose | 显示更多的内容 |
—hiveconf
set property=value
hive -d col=id --database hello # 指定变量和数据库名称hello
# 使用变量
hive> select '${col}' from table2 limit 3; # 显示的是id名称
hive> select ${col} from table2 limit 3; # 显示的是id的具体值
root: hive --hiveconf mapred.reduce.tasks=10
hive> set mapred.map.tasks=10;
hive -e "select * from table2 where id > 4" --database hello;
beeline
是hiveserver2
的CLI
,一个JDBC
的客户端,分为两种模式
beeline必须同时和hiveserver2同时使用
ps -ef | grep hive
!quit
!connect jdbc:hive2://localhost:10000/defautl
6. 直接进入数据库中
$ $HIVE_HOME/bin/beeline -u jdbc:hive2://$HS2_HOST:$HS2_PORT
Hadoop
集群/Users/peter/Downloads/hadoop-2.9.2/sbin/stop-all.sh
Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000/default: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: piqianchao is not allowed to impersonate root (state=08S01,code=0)
Hadoop
的配置文件,添加两项内容需要注意的是:将用户进行更改,不一定是root
用户
vim /Users/peter/Downloads/hadoop-2.9.2/etc/hadoop/core-site.xml
Hadoop
集群/Users/peter/Downloads/hadoop-2.9.2/sbin/start-all.sh
hiveserver2
重启hiveserver2
和beeline
,即可正常进入