前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >hive之路4-CLI和Beeline

hive之路4-CLI和Beeline

作者头像
皮大大
发布2021-03-02 16:12:33
8260
发布2021-03-02 16:12:33
举报

Hive之CLI

参数

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

显示更多的内容


三种配置方式
  1. Hive-site.xml
  2. —hiveconf
  3. hive CLI 中进行set property=value
操作demo
  • -d
代码语言:javascript
复制
hive -d col=id --database hello   # 指定变量和数据库名称hello

# 使用变量
hive> select '${col}' from table2 limit 3;  # 显示的是id名称
hive> select  ${col} from table2 limit 3;   # 显示的是id的具体值
  • hiveconf
代码语言:javascript
复制
root: hive --hiveconf mapred.reduce.tasks=10

hive> set mapred.map.tasks=10;
  • -e
代码语言:javascript
复制
hive -e "select * from table2 where id > 4" --database hello;

Hive之Beeline

beeline简介

beelinehiveserver2CLI,一个JDBC的客户端,分为两种模式

  • 嵌入模式:一个嵌入的Hive
  • 远程模式:通过thrift协议与单独的HiveServer2进程

beeline必须同时和hiveserver2同时使用

使用方法
  1. 启动hiveserver2
  2. 查看是否启动:ps -ef | grep hive
  3. 启动beeline
  4. 退出beeline:!quit
  5. 连接数据库,一定要带上感叹号❕
代码语言:javascript
复制
!connect jdbc:hive2://localhost:10000/defautl
代码语言:javascript
复制
6. 直接进入数据库中
代码语言:javascript
复制
$ $HIVE_HOME/bin/beeline -u jdbc:hive2://$HS2_HOST:$HS2_PORT
连接报错
  1. 先关闭Hadoop集群
代码语言:javascript
复制
/Users/peter/Downloads/hadoop-2.9.2/sbin/stop-all.sh
  1. 通过报错显示,是权限问题:用户不具备权限
代码语言:javascript
复制
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)
  1. 编辑Hadoop的配置文件,添加两项内容

需要注意的是:将用户进行更改,不一定是root用户

代码语言:javascript
复制
vim /Users/peter/Downloads/hadoop-2.9.2/etc/hadoop/core-site.xml

  1. 重启Hadoop集群
代码语言:javascript
复制
/Users/peter/Downloads/hadoop-2.9.2/sbin/start-all.sh
  1. 重启hiveserver2

重启hiveserver2beeline,即可正常进入

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Hive之CLI
    • 参数
      • 常用参数
        • 三种配置方式
          • 操作demo
          • Hive之Beeline
            • beeline简介
              • 使用方法
                • 连接报错
                相关产品与服务
                数据库
                云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
                领券
                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档