Hive数据类型支持以及Hive CLI、Beeline CLI使用

2023-12-10 13:58

本文主要是介绍Hive数据类型支持以及Hive CLI、Beeline CLI使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Hive数据类型支持以及Hive CLI、Beeline CLI使用

1 Hive的数据单元

Hive中的数据单元有:

Databases 、Tables 、Partitions、Clusters(Buckets)

Databases用来管理、区分不同的数据;

Tables用来存放不同表的数据;

Partition可以对Table中的数据进行分区;

Cluster可以将不同的分区数据划分到不同的Buckets中,以文件的形式进行保存,一般用于数据量比较大的数据,便于抽样(TABLESAMPLE(2 out of 32 buckets))。

2 数据类型

Hive支持的基本数据类型有;

TINYINT
SMALLINT
INT
BIGINT
FLOAT
DOUBLE
BOOLEAN
STRING
CHAR
VARCHAR
TIMESTAMP
DATE
DECIMAL
BINARY

复杂数据类型:

S STRUCT{a int ;b int} => S.a
A ARRAY => A[1]
M MAP<key String,value String> => M[‘key’]

3 Hive语法操作

3.1 Hive CLI(old)

3.1.1 Hive CLI的命令行Option

这个命令行客户端是比较老的命令行启动方式,具体使用如下:

$HIVE_HOME/bin/hive

-d /–define <key=value> :替换默认的配置参数变量
-e ‘SQL’ :执行String类型的SQL语句
-i :初始化SQL文件
-H /–help :显示帮助信息
-h :连接到远程的HiveServer
–hiveconf<k=v> --hivevar<k=v> :修改默认配置
-p :通过port连接到远程的HiveServer
-S /–silent:以安静的方式执行Hive命令
-v /–verbose:以冗余的形式执行Hive命令
-f :以文件的形式执行HiveQL语句

-- 演示案例
/bin/hive -S -e select * from a''
--hiveconf hive.exec.scratchdir=/
--hivevar mapred.reduce.tasks=32
> a.txt-- 执行文件SQL
/bin/hive -f /home/script.sql
/bin/hive -f hdfs://home/script.sql
/bin/hive -f s3://home/script.sql

Hive CLI的Hive command如下

CommandDescription
quit exit退出Hive CLi.
reset恢复所有参数到默认配置.
set =替换默认配置的值.
set打印所有被替换的Hive配置参数信息.
set -vd
add FILE[S] * add JAR[S] * add ARCHIVE[S] *添加1到多个file、jar、归档文件到Hive的类路径下,能够被运行时上下文环境访问.
add FILE[S] * add JAR[S] * add ARCHIVE[S] *As of Hive 1.2.0, adds one or more files, jars or archives to the list of resources in the distributed cache using an Ivy URL of the form ivy://group:module:version?query_string. See Hive Resources below for more information.
list FILE[S] list JAR[S] list ARCHIVE[S]列出所有被添加到Hive的分布式缓存中的资源 See Hive Resources 查看更多信息.
list FILE[S] * list JAR[S] * list ARCHIVE[S] *查看给定的资源是否已经被添加到了Hive的分布式缓存中. See Hive Resources 查看更多信息.
delete FILE[S] * delete JAR[S] * delete ARCHIVE[S] *从hive的分布式缓存中移除相应的资源文件.
delete FILE[S] * delete JAR[S] * delete ARCHIVE[S] *As of Hive 1.2.0, removes the resource(s) which were added using the from the distributed cache. See Hive Resources below for more information.
! 在Hive Shell中执行一个shell命令,如:!ls /
dfs Executes a dfs command from the Hive shell.
执行HiveQL语句,如:set / select /insert /alter /create /use /drop /
source 引入文件.

3.2 Beeline CLI(new)

如何使用新的Beeline CLI?

H I V E H O M E / b i n / h i v e s e r v e r 2 ∗ ∗ ∗ ∗ HIVE_HOME/bin/hiveserver2** ** HIVEHOME/bin/hiveserver2HIVE_HOME/bin/beeline -u !connect jdbc:hive2://hostname:10000

Beeline的Hive command与Hive CLI的是一模一样的。

3.2.1 Beeline的常用命令行Option

-u :连接对应的HiveServer2的jdbc_url
-n:用户名
-p:密码
-d:jdbc驱动类
-e:执行SQL语句
-f:执行SQL脚本
-i:初始化SQL脚本
–hiveconf:覆盖默认配置参数
–hivevar:覆盖默认配置参数
–showHeader=true:显示每列的列名
–verbose:冗余形式,控制台打印querySQL语句
–silent:安静执行
–help:显示帮助信息

具体命令行选项可以参考 :命令行Options

这篇关于Hive数据类型支持以及Hive CLI、Beeline CLI使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/477300

相关文章

使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)

《使用Java解析JSON数据并提取特定字段的实现步骤(以提取mailNo为例)》在现代软件开发中,处理JSON数据是一项非常常见的任务,无论是从API接口获取数据,还是将数据存储为JSON格式,解析... 目录1. 背景介绍1.1 jsON简介1.2 实际案例2. 准备工作2.1 环境搭建2.1.1 添加

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

Jsoncpp的安装与使用方式

《Jsoncpp的安装与使用方式》JsonCpp是一个用于解析和生成JSON数据的C++库,它支持解析JSON文件或字符串到C++对象,以及将C++对象序列化回JSON格式,安装JsonCpp可以通过... 目录安装jsoncppJsoncpp的使用Value类构造函数检测保存的数据类型提取数据对json数

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

springboot整合 xxl-job及使用步骤

《springboot整合xxl-job及使用步骤》XXL-JOB是一个分布式任务调度平台,用于解决分布式系统中的任务调度和管理问题,文章详细介绍了XXL-JOB的架构,包括调度中心、执行器和Web... 目录一、xxl-job是什么二、使用步骤1. 下载并运行管理端代码2. 访问管理页面,确认是否启动成功

使用Nginx来共享文件的详细教程

《使用Nginx来共享文件的详细教程》有时我们想共享电脑上的某些文件,一个比较方便的做法是,开一个HTTP服务,指向文件所在的目录,这次我们用nginx来实现这个需求,本文将通过代码示例一步步教你使用... 在本教程中,我们将向您展示如何使用开源 Web 服务器 Nginx 设置文件共享服务器步骤 0 —

Java中switch-case结构的使用方法举例详解

《Java中switch-case结构的使用方法举例详解》:本文主要介绍Java中switch-case结构使用的相关资料,switch-case结构是Java中处理多个分支条件的一种有效方式,它... 目录前言一、switch-case结构的基本语法二、使用示例三、注意事项四、总结前言对于Java初学者

Golang使用minio替代文件系统的实战教程

《Golang使用minio替代文件系统的实战教程》本文讨论项目开发中直接文件系统的限制或不足,接着介绍Minio对象存储的优势,同时给出Golang的实际示例代码,包括初始化客户端、读取minio对... 目录文件系统 vs Minio文件系统不足:对象存储:miniogolang连接Minio配置Min