HIVE学习(hive基础)

HIVE基础介绍

  • 一、HIVE简介
  • 二、hive的数据类型
    • 1、基本数据类型
    • 2、复合数据类型
  • 三、HIVE的DDL操作
  • 四、创建一个表
    • 1. 建表语句
  • 五、修改表结构
    • 1.修改表名
    • 2. 列修改或增加
    • 3. 修改分区
  • 五、常见函数
  • 六、一对一关联
    • left join左关联
    • right join 右关联
    • 内连接
    • 全连接
    • 查询只有A表的数据

一、HIVE简介

  1. 什么是hive?
    HIVE是一种基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供SQL查询功能
    本质:SQL转换为MAPREDUCE程序
    主要用途:用来做离线数据分析,比直接用MapReduce开发效率更高
  2. hive与数据库的区别
    ① 查询语句
    HQLSQL
    ② 数据存储
    HDFS // RAW DEVICE OR LOCAL FS
    ③ 执行器
    MAPREDUCE / EXECUTOR
    ④ 数据插入
    支持批量导入与单挑插入//支持单条或批量导入
    ⑤ 数据操作
    覆盖追加//行级更新删除
    ⑥数据规模
    大/小
    ⑦执行延迟
    高/低
    3.HIVE不支持数据更新与删除是因为hive存储在HDFS中,删除为物理删除,代价较高,只支持覆盖和追加
  3. hive扩展性好是因为可以在多个集群的服务器上做应用开发
  4. hive的读时模块快,是指hive加载数据到表中时不会做数据校验,在读取数据时才校验,它的查询延迟主要浪费在资源调度上,进行任务划分然后进行计算任务的申请

二、hive的数据类型

1、基本数据类型

booleantrue/falsetrue
tinyint1字节的有符号整数1
smallint2字节的有符号整数1
int4字节的有符号整数1
bigint8字节的有符号整数1
float4字节单精度浮点数1.0
double8字节单精度浮点数1.0
string字符串“abc”
varchar字符串“abc”
timestamp时间戳1563157873
date日期20190715

2、复合数据类型

类型名称描述举例
array字段类型相同的有序字段array(1,2,3)
map无序的键值对map(k1,v2,k2,v2)map(‘a’,‘1’,‘b’,‘2’)
struct一组命名的字段,字段类型可以不同struct(元素1,元素2)struct(‘a’,1,2,0)
select map_key(''),map_values('') from user;
create table complex(col1 array<int>,col2 map<string,int>,col3 struct<a:string,b:int,c:int>
)

三、HIVE的DDL操作

show database;
show database like 'db_hive*';
# 显示数据库详细信息
desc database extended db_hive;
# 切换当前数据库
use db_hive;
# 删除数据库
drop database if exists db_hive;
# 强制删除
drop database if exists bd_hive cascade;

四、创建一个表

1. 建表语句

create(external) table (if not exists) table_name(col_name data_type comment "中文名"
)
row format delimited fields terminated by'\t'[指定每一行中字段的分隔符]
stored as orc[指定存储文件类型(sequencefile 二进制序列文件、textfile 文本、rcfile 列式存储格式文件,不指定就默认为文本文件]

(1)查询建表法
通过AS语句,将查询的子结果存在新表里

create table if not exists student1 as select;

like建表法

create table if not exists student2 like select;

(2)分区表的创建
一级分区

create table student_partition1(id int,name string,age int
)
partitioned by (dt string)
row format delimited fields terminated by '\t';

二级分区

create table student_partition1(id int,name string,age int
)
partitioned by (dt string,day string)
row format delimited fields terminated by '\t';

五、修改表结构

1.修改表名

alter tablestudent——partition1 rename to student—p1

2. 列修改或增加

增加列

alter table student add columns(字段名,字段类型)

修改列

alter table student change columns 字段名 更改的类型;

替换列

alter table student replace columns(deptno string,dname string,loc string)
替换表中所有有字段

3. 修改分区

# 添加单个分区
alter table student add partition(dt='20230402');
# 添加多个分区
alter table student add partition(dt='20230402',dt='20230402');
# 删除分区
alter table student drop partition (dt= '20200401'

五、常见函数

六、一对一关联

left join左关联

将左边的表A作为主表,以A表为外循环对右表进行匹配,如果右表没有匹配,就将右表项值为空

right join 右关联

内连接

选择两个表同时出现的项

全连接

选择所有出现的项

查询只有A表的数据

select * from A 
left join B A.ID=B.ID
WHERE B.ID =NULL

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/213041.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机视觉-机器学习-人工智能顶会 会议地址

计算机视觉-机器学习-人工智能顶会 会议地址 最近应该要整理中文资料的参考文献&#xff0c;很多会议文献都需要补全会议地点&#xff08;新国标要求&#xff09;。四处百度感觉也挺麻烦的&#xff0c;而且没有比较齐全的网站可以搜索。因此自己整理了一下计算机视觉-机器学习…

OSPF路由协议

随着Internet技术在全球范围的飞速发展&#xff0c;OSPF已成为目前应用最广泛的路由协议之一。OSPF&#xff08;Open Shortest Path First&#xff09;路由协议是由IETF&#xff08;Internet Engineering Task Force&#xff09;IGP工作组提出的&#xff0c;是一种基于SPF算法的…

JS 云服务 Deno Depoly 宣布,推出定时运行功能 Deno Cron

如果需要定时执行 JS 脚本&#xff0c;以后多一个选项。 Web 构建日益复杂。编写现代软件包括利用云基础设施、剖析模板代码和管理复杂的配置&#xff0c;而开发人员只想专注于编写业务逻辑。 Deno 旨在通过删除配置和不必要的模板&#xff0c;从根本上简化 Web 开发。我们将无…

网络攻击(三)--攻击阶段

5. 威胁建模阶段 目标 了解威胁建模阶段的工作内容 工作内容 威胁建模主要使用在情报搜集阶段所获取到的信息&#xff0c;来标识出目标系统上可能存在的安全漏洞与弱点。 在进行威胁建模时&#xff0c;确定最为高效的攻击方法、所需要进一步获取到的信息&#xff0c;以及从…

【前端】CSS浮动(学习笔记)

一、浮动 1、传统网页布局 网页布局的本质&#xff1a;用 CSS 来摆放盒子&#xff0c;把盒子摆放到相应位置。 CSS 提供了三种传统布局方式&#xff08;盒子如何进行排列顺序&#xff09; 普通流&#xff08;标准流&#xff09;浮动定位 实际开发中&#xff0c;一个页面基…

Go 反射技术判断结构体字段数据为空

Api介绍 在Go语言中&#xff0c;反射API用于在运行时检查类型信息、获取和修改变量的值以及调用对象的方法。反射API包含了一组函数和类型&#xff0c;可以在程序运行时动态地操作对象。 以下是一些常用的反射API&#xff1a; reflect.TypeOf&#xff1a;返回一个值的类型信息。…

并查集基础模板

题目我上面有人儿 代码 #include <bits/stdtr1c.h> using namespace std; const int N 1005; int f[N]; int n; int siz[N]; // 初始化并查集 // void init() // { // for (int i 1; i < n; i) // { // f[i] i; // 初始化所有的节点都是自己的父节点 //…

Tomcat头上有个叉叉

问题原因&#xff1a; 这是因为它就是个空的tomcat,并没有导入项目运行 解决方案&#xff1a; war模式&#xff1a;发布模式&#xff0c;正式发布时用&#xff0c;将WEB工程以war包的形式上传到服务器 war exploded模式&#xff1a;开发时用&#xff0c;将WEB工程的文件夹直接…

【网络协议】LACP(Link Aggregation Control Protocol,链路聚合控制协议)

文章目录 LACP名词解释LACP工作原理互发LACPDU报文确定主动端确定活动链路链路切换 LACP和PAgP有什么区别&#xff1f;LACP与LAG的关系LACP模式更优于手动模式LACP模式对数据传输更加稳定和可靠LACP模式对聚合链路组的故障检测更加准确和有效 推荐阅读 LACP名词解释 LACP&…

day11 前k个高频元素

// 小顶堆 class mycomparison { public: bool operator()(const pair<int, int>& lhs, const pair<int, int>& rhs) { return lhs.second > rhs.second; } }; vector<int> topKFrequent(vector<int>& nums, int k) { // 要统计元素出现…

智能外呼有什么好处?

智能外呼是一种自动化的电话营销方式&#xff0c;利用AI智能外呼技术和大量数据分析&#xff0c;帮助企业实现与客户之间的高效、精准、个性化的客户沟通&#xff0c;还可以在客户服务、市场营销和销售等方面带来助力。那么&#xff0c;智能外呼有什么好处呢&#xff1f; 1. 提…

spring IOC bean为什么默认是单例的

首先解释一下什么是单例 bean&#xff1f; 单例的意思就是说在 Spring IoC 容器中只会存在一个 bean 的实例&#xff0c;无论一次调用还是多次调用&#xff0c;始终指向的都是同一个 bean 对象 用代码来解释单例 bean public class UserService {public void sayHello() {Syst…

交叉编译工具链makefile

linux系统默认搜索头文件地址&#xff1a;/usr/include/文件夹&#xff1b; Windows系统默认搜索头文件地址&#xff1a;不同软件好像可以设置不同的地址&#xff1b;例如visual studio好像可以设置附加包含目录&#xff0c;包含目录等 Linux系统库文件路径&#xff1a;/lib文…

通过生成模拟释放无限数据以实现机器人自动化学习

该工作推出RoboGen&#xff0c;这是一种生成机器人代理&#xff0c;可以通过生成模拟自动大规模学习各种机器人技能。 RoboGen 利用基础模型和生成模型的最新进展。该工作不直接使用或调整这些模型来产生策略或低级动作&#xff0c;而是提倡一种生成方案&#xff0c;该方案使用…

命运天注定?

罗翔老师经常说&#xff1a;人这一生&#xff0c;能自己决定的也许只有5&#xff05;&#xff0c;有95%是你决定不了的。 不是说事在人为&#xff0c;人定胜天吗&#xff1f; 哪吒也在电影的高潮喊出了&#xff1a;我命由我不由天。 听上去很热血&#xff0c;但实际咱们每个…

Java泛型:详解使用技巧及举例说明

Java泛型&#xff1a;详解使用技巧及举例说明 1. 引言 Java泛型是一项强大的编程概念&#xff0c;它允许我们编写通用的代码&#xff0c;在编写代码时不需要预先指定具体的数据类型。泛型的引入解决了在传统的编程中需要频繁进行类型转换的问题&#xff0c;提高了代码的安全性…

simulink MATLABFunction模块中实时函数调用函数的使用

样例 function Predyy matlabceshi(input, Time_s) input1 input; Time_s1 Time_s; Predyy ee(input1) mm(Time_s1); end 上面是主要部分&#xff0c;下面是被调用部分 function A ee(input1) A input1 * 100; end function B mm(Time_s1) B Time_s1 * 100; end 模型…

算法竞赛---反悔贪心

反悔贪心 Work Scheduling G 什么是返回贪心呢&#xff0c;就是先选择&#xff0c;遇到更好的之后在反悔选择更好的&#xff0c;这是符合贪心的逻辑的。 #include <bits/stdc.h> // https://www.luogu.com.cn/problem/P2949 using namespace std; struct node {int d,…

Linux(ubuntu)利用ffmpeg+qt设计rtsp_rtmp流媒体播放器(完全从0开始搭建环境进行开发)

一、前言 从0开始搭建Linux下Qt、ffmpeg开发环境。 从安装虚拟机开始、安装Linux(Ubuntu)系统、安装Qt开发环境、编译ffmpeg源码、配置ffmpeg环境、编写ffmpeg项目代码、完成项目开发。 完全从0开始搭建环境进行开发 完全从0开始搭建环境进行开发 完全从0开始搭建环境进行开…

公务员国考省考小白需知

文章目录&#xff1a; 一&#xff1a;分类 1.国考 2.省考 二&#xff1a;必备途径 1.相关网站 1.1 官网 1.1.1 必须知道的 1.1.2 比较好用的 1.1.3 事业单位的 1.2 机构 ​​1.3 时事 ​​1.4 资源 1.5 题库 1.6 真题 ​2.相关公主号 3.应用 4.群聊如何找 三…