hive学习(五)

一、hive的DML操作

1.load(向表中装载数据)

hive> load data [local] inpath '路径' [overwrite] into table 表名 [partition (partcol1=val1,…)];

特殊说明

1)local:标识从本地加载数据到Hive表,若没有local的话从HDFS加载数据到Hive表

2)overwrite:表示覆盖原有数据,若没有追加在原有数据上

3)若目标是分区表,则需用partition指定分区表

2.insert

1)将查询结构插入表中

INSERT (INTO | OVERWRITE) TABLE tablename [PARTITION
(partcoll=vall, partcol2=va12 ... ) ] select_statement;//INTO是追加,overwrite是覆盖

示例:

insert overwrite table student partition(month='20240818') select id, name from teacher 

2)给定values插入表中

INSERT (INTO | OVERWRITE) TABLE tablename [PARTITION
(partcoll [=vall], partcol2[=va12] ... ) ] VALUES values_row [,
values_row ... ]

示例:

insert into table  teacher partition(month='202408016') values(1,'mark');

3)将查询结果写入目标路径

INSERT OVERWRITE [LOCAL] DIRECTORY directory
[ROW FORMAT row format] [STORED AS
file format] select statement;

3.Export和Inmport

介绍:Export将表的数据和元数据信息一并导出到Hdfs路径,Import将Export到处的内容导入Hive,表的数据和元数据信息都会恢复

-- 导出
EXPORT TABLE tablename TO 'export_target_path'-- 导入
IMPORT
'source path' [LOCATION 'import_target_path' ][EXTERNAL] TABLE new_or_original_tablename FROM

二、hive的查询语句

语法

[WITH CommonTableExpression (, CommonTableExpression)*]    (Note: Only availablestarting with Hive 0.13.0)
SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference[WHERE where_condition][GROUP BY col_list][ORDER BY col_list][CLUSTER BY col_list| [DISTRIBUTE BY col_list] [SORT BY col_list]][LIMIT number]

1.基本查询

1)全表查询

select * from emp;

2)特定列查询

select id, name from emp;

注:关键字不能被缩写也不能多行

2)limit语句

//返回前5行
hive (default)> select * from emp limit 5;//从指定行数开始hive (default)> select * from emp limit 5,3;

3)where语句

基本同SQL语句相同,注意where语句中不能使用字段别名

4)关系运算函数

5)逻辑运算函数(与SQL相同)

 6)Join语句(与SQL相似)

--内连接(只有进行连接的两个表中都存在与连接条件相匹配的数据才会被保留下来)

select e.empno, e.ename, d.deptno from emp e join dept d on e.deptno = d.deptno;

--左外连接(JOIN操作符左边表中符合WHERE子句的所有记录将会被返回)

select e.empno, e.ename, d.deptno from emp e left join dept d on e.deptno = d.deptno;

--右外连接(JOIN操作符右边表中符合WHERE子句的所有记录将会被返回)

select e.empno, e.ename, d.deptno from emp e right join dept d on e.deptno = d.deptno;

--满外连接(将会返回所有表中符合WHERE语句条件的所有记录。如果任一表的指定字段没有符合条件的值的话,那么就使用NULL值替代)

 select e.empno, e.ename, d.deptno from emp e full join dept d on e.deptno = d.deptno;

--笛卡尔积

select * from table1 join table2

2.排序

1)order by(全局排序)

在hive中,order by通常与limit使用

2)Sort  By(每个Redeuce内部排序)

对每个Reduce进行排序,对全局结果来说并不是排序

--设置reduce个数

hive (default)> set mapreduce.job.reduces=3;

--查看设置reduce个数

hive (default)> set mapreduce.job.reduces;

3)Distribute  By(分区)

结合sort by使用,且要求Distribute by 要在Sort by语句之前

4)Cluster  By(分区排序)

当 distribute by 和 sort by字段相同时,可以使用cluster by方式。

cluster by 除了具有distribute by 的功能外还兼具sort by的功能。但是排序只能是升序

排序,不能指定排序规则为asc或者desc。

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

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

相关文章

红石电路(我的世界)

红石电路(Redstone circuits)为玩家建造的,可以用于控制或激活其他机械的结构。 电路本身既可以被设计为用于响应玩家的手动激活,也可以让其自动工作——或是反复输出信号,或是响应非玩家引发的变化,例如生…

shell脚本--正则表达式

一、正则表达式的类型 在Linux中,有两种流行的正则表达式引擎: POSIX基础正则表达式(basic regular expression,BRE)引擎 POSIX扩展正则表达式(extended regular expression,ERE)引擎 POSIX BRE引擎通常出现在依赖正则表达式进行文本过滤的编程语言中。它为常见模式提供…

STM32基于HAL库使用串口+DMA 不定长接收数据 学习记录

我这些博客都只是记录一下自己学习的内容,以及记录一些思考过的问题和疑惑的东西 这里的代码借鉴了一位博主的博客 地址:[] 这里cubemx串口基础配置部分参考这一篇博客 (只配置了串口中断接收和printf重定向) 这一篇博客我们需要开…

分布式计算架构详解以及任务调度方式

信息技术领域重要分支—分布式计算。分布式计算通过将任务分配到多个物理的计算资源上进行处理,以来提高计算效率和资源利用率。今天主讲分布式计算架构的关键组成以及在云服务器背景下任务调度的不同方式,然后再综合来看这些调度策略是怎样适应云环境的…

C# 三种定时器的用法

目录 1.System.Timers.Timer 2.System.Windows.Forms.Timer 3.System.Threading.Timer 4.简单的封装 这里介绍三种常用的定时器,方便查阅资料或直接复制使用。 1.System.Timers.Timer System.Timers.Timer 类定义了一个计时器,该计时器按固定间隔触…

线性表之数组

数组(Array)是 C/C 中最基础和重要的数据结构之一,它提供了一种有效存储和访问固定大小元素集合的方式。关于数组的定义和使用相信大家都已经熟练掌握,本文将着重为大家剖析数组的物理结构和逻辑结构。 1. 数组的物理结构 数组的…

大语言模型-GPT3-Language Models are Few-Shot Learners

一、背景信息: GPT3是于2020 年由OpenAI 发布的预训练语言模型。 GPT3在自然语言处理(NLP)任务中表现出色,可以生成连贯的文本、回答问题、进行对话等。 GPT3的网络架构继续沿用GPT1、GPT2的是多层Transformer Decoder改的结构。…

MySQL的安装配置以及可视化工具的安装

一、MySQL 的安装配置 1、找到官网 MySQL :: Download MySQL Installer (Archived Versions)https://downloads.mysql.com/archives/installer/ 2、下载 3、安装 接下来只需要一直 next 下去就好 此时我们的MySQL就安装完成了,有些人的电脑在点击完这个finish以后…

Linux内核6.12新特性:panic之后扫码显示故障信息

Linux 内核 6.12 版本即将引入一项有趣的功能——在内核Panic时显示一个可选的二维码。这一功能将允许用户通过扫描二维码直接访问内核Panic信息的日志,从而更容易地诊断问题所在。 这不是 Linux 第一次尝试使用二维码。早在2014年,就有过关于在内核Pani…

HarmonyOS(52) 使用安全控件SaveButton保存图片

SaveButton使用简介 前言SaveButton简介约束与限制 实现点击事件全部源码 参考资料: 前言 在HarmonyOS(50) 截图保存功能实现一文中简单介绍了截图保存功能,本篇博文介绍一个更简单的保存图片控件SaveButton. SaveButton简介 SaveButton允许用户通过点…

EasyCVR中的H.265技术:助力实现大规模高效流畅的视频监控应用

随着视频监控技术的不断发展和用户对视频质量要求的不断提高,高效能、低延迟的视频编码技术成为视频监控系统中的重要支撑。TSINGSEE青犀视频旗下的EasyCVR视频汇聚平台凭借其强大的视频处理能力和对H.265技术的支持,在视频监控系统中展现出显著的应用优…

运用Premiere自学视频剪辑,这些岗位你能胜任!

随着短视频的兴起和火热,短视频后期制作越来越受到人们的重视,甚至衍生出很多岗位的高薪工作。如大家所了解的,Adobe premiere正是一款视频后期剪辑和制作工具,其功能强大,应用也十分广泛,是从事后期工作者…

Mysql常见问题汇总【持续更新】

文章目录 Invalid default value for CREATE_TIME 或则 启动时 sql_mode 报错1130错误码,MySQL不能通过ip连接第一种命令方式图形化界面 mysql给用户授管理员权限mysql 新建用户时,主机名选择区别Mysql常用命令大全 Invalid default value for CREATE_T…

四大消息队列:Kafka、ActiveMQ、RabbitMQ、RocketMQ对比

四大消息队列:Kafka、ActiveMQ、RabbitMQ、RocketMQ对比 1. 社区活跃度2. 持久化消息3. 技术实现4. 高并发性能5. RabbitMQ与Kafka对比 💖The Begin💖点点关注,收藏不迷路💖 在软件开发中,消息队列&#xf…

基础算法(1)——双指针

1. 概念 常见的双指针有两种形式,一种是对撞指针,一种是快慢指针 1.1 对撞指针 一般用于顺序结构中,也称为左右指针 对撞指针从两端向中间移动,一个指针从最左端开始,另一个从最右端开始,逐渐往中间逼近…

.net dataexcel winform控件 更新 日志

增加 列宽度调整时动态显示列象素大小 更改列的宽度可以使用 column.Width属性进行修改

【持续更新】Mχ Plaayer Pro 1.86.0安卓知名播放器最新免费高级修改版

Mχ Plaayer Pro MOD 版本免费 APK,专为安卓手机和平板打造。这是一款功能强大的视频播放器,具备先进的硬件加速技术和字幕支持功能。 • 硬件加速 - 新增 HW 解码器帮助更多视频格式实现硬件加速。 • 多核心解码 - Mχ Plaayer 是首款支持多核心解码的…

基于STM32的RFID高速收费系统(论文+源码+实物)

1系统方案设计 本文基于STM32的RFID高速收费系统,其可以实现小车和货车两种车型收费,当车辆超过了规定的重量后,出现声光报警提示,并且启动杆不会抬起,只有当车辆重量低于设置值时,启动杆才会自动抬起&…

【Linux】在 bash shell 环境下,当一命令正在执行时,按下 control-Z 会?

目录 题目分析答案 题目 分析 ctrl-c: 发送 SIGINT 信号给前台进程组中的所有进程。常用于终止正在运行的程序;ctrl-z: 发送 SIGTSTP信号给前台进程组中的所有进程,常用于挂起一个进程;ctrl-d: 不是发送信…

揭秘排行榜系统:如何在高并发场景下实现高效更新!

大家好,我是你们的技术分享伙伴小米!今天我们来聊聊一个非常有趣的话题——如何设计一个排行榜。在这个互联网时代,无论是游戏、学习平台,还是各种社交应用,排行榜都是用户互动和竞争的核心功能之一。而如何设计一个高效、实时更新的排行榜,是一个充满挑战性的问题。今天…