[Hive高级特性与 DDL和DML语法]

news/2024/4/19 20:41:12/

目录

🎇前言:

🎇 HiveQL语言的基本语法,包括DDL和DML两个方面。

   🎇DDL(数据定义语言):

   🎇DML(数据操作语言):

   🎇 Hive高级特性

多种内置函数:

分区和桶:

索引:

视图:

UDF:


🎇前言:

   🎇此文章在阿为的刺激之下,奋笔疾书而作

🎇 HiveQL语言的基本语法,包括DDL和DML两个方面。

   🎇DDL(数据定义语言):

  1. 创建数据库:CREATE DATABASE database_name;

  2. 删除数据库:DROP DATABASE database_name;

  3. 创建表:CREATE TABLE table_name (column1 data_type, column2 data_type, ...);

  4. 删除表:DROP TABLE table_name;

  5. 修改表结构:ALTER TABLE table_name ADD COLUMN column_name data_type;

  6. 查看表结构:DESCRIBE table_name;

   🎇DML(数据操作语言):

  1. 插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);

  2. 查询数据:SELECT column1, column2, ... FROM table_name WHERE condition;

  3. 更新数据:UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;

  4. 删除数据:DELETE FROM table_name WHERE condition;

  5. 聚合函数:SUM、AVG、COUNT、MAX、MIN等。

   🎇 Hive高级特性

Hive的多种内置函数、Hive的分区和桶、Hive的索引、Hive的视图、Hive的UDF等高级特性。

  • 多种内置函数:

Hive提供了多种内置函数,包括数学函数、字符串函数、日期函数、聚合函数等。例如,ABS、CONCAT、FROM_UNIXTIME、SUM等。

-- 字符串函数
SELECT CONCAT(name,' is ',age,' years old') FROM mytable;-- 日期函数
SELECT DATE_SUB('2022-01-01', 365) FROM mytable;-- 数学函数
SELECT ABS(score) FROM mytable;
  • 分区和桶:

Hive支持对表进行分区和桶操作,可以提高查询效率。分区是按照某个列的值进行分区,而桶是按照哈希值进行分区。例如,CREATE TABLE table_name (column1 data_type, column2 data_type, ...) PARTITIONED BY (partition_column data_type) CLUSTERED BY (bucket_column) INTO num_buckets BUCKETS;

分区是Hive中管理数据的一种方式,它可以加快数据查询的速度。桶则与分区类似,但桶是在分区内再次划分的,可以让查询更加快速。

-- 创建分区表
CREATE TABLE mytable(id INT,name STRING
)
PARTITION BY (age INT, gender STRING);-- 加载数据到分区表
INSERT INTO mytable PARTITION(age=25, gender='Female') VALUES(1,'Amy');-- 创建桶表
CREATE TABLE mytable(id INT,name STRING,age INT,color STRING
)
CLUSTERED BY (age) INTO 3 BUCKETS;

 

  • 索引:

Hive支持对表进行索引操作,可以提高查询效率。可以使用CREATE INDEX语句创建索引,例如,CREATE INDEX index_name ON table_name (column_name);

-- 创建B-Tree索引
CREATE INDEX myindex ON TABLE mytable(age) AS 'org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler';-- 创建Bitmap索引
CREATE INDEX myindex ON TABLE mytable(age) AS 'org.apache.hadoop.hive.ql.index.bitmap.BitmapIndexHandler';
  • 视图:

Hive支持创建视图,可以简化查询操作。可以使用CREATE VIEW语句创建视图,例如,CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition;

-- 创建视图
CREATE VIEW myview AS SELECT id, name FROM mytable;-- 查询视图
SELECT * FROM myview;-- 删除视图
DROP VIEW myview;
  • UDF:

Hive支持自定义函数,可以根据需要编写自己的函数。可以使用CREATE FUNCTION语句创建UDF,例如,CREATE FUNCTION function_name AS 'class_name' USING JAR 'jar_file_path';          Hive支持用户自定义函数(UDF),可以根据需要编写自己的函数来处理数据。使用方法为编写Java或Python代码并打包为JAR文件,然后将该文件上传到Hive中,并注册UDF函数供使用。

-- 创建UDF
ADD JAR /path/to/udf.jar;
CREATE TEMPORARY FUNCTION myudf AS 'com.example.udf.MyUDF';

-- 使用UDF
SELECT myudf(id, name) FROM mytable;
 


http://www.ppmy.cn/news/405090.html

相关文章

ZLMediaKit源码分析(五)关系图

ZLMediaKit源码分析(一)服务启动 ZLMediaKit源码分析(二)推流创建 ZLMediaKit源码分析(三)拉流创建 ZLMediaKit源码分析(四)重封装 ZLMediaKit源码分析(五)关…

AVI文件格式详解

AVI是音频视频交错(Audio Video Interleaved)的英文缩写,它是Microsoft公司开发的一种符合RIFF文件规范的数字音频与视频文件格式,原先用于Microsoft Video Windows(简称VFW)环境,现在已被Windows95/98,OS/…

JSON数据类型

JSON 是 Web 开发中使用最广泛的数据交换格式,它独立于编程语言,能够被大多数编程语言使用。本节我们来详细介绍一下 JSON 中支持的数据类型。 JSON 中支持的数据类型可以分为简单数据类型和复杂数据类型两种,其中简单数据类型包括&#xff1…

怎么导出微信语音【亲测有效】

在手机上长按你想导出的语音,点收藏 来到我的-收藏,打开刚才收藏语音,右上角三个点点,点转存为笔记 ok放下手机 来到pc端微信 - 收藏,找到刚才的笔记 进去,选中 - 右键 - 复制 发给你的文件传输助手 找到…

微信语音保存教程

对方发来的语音聊天内容(非语音实时通话),如何保存在电脑上?网上的教程已不适用于目前微信版本。经研究,教程如下: 1.收藏语音 2.将语音收藏转为笔记 3.登录微信电脑客户端,把笔记转发到文件传…

微信 - 微信语音转发好友 / 朋友圈方法

在微信聊天中长按语音是没有转发的按钮,无法转发给另外的好友 有时候正好需要转发的时候,我们可以通过一些小技巧做到语音转发好友 比起用外挂软件,使用这种方法就不会有封号的危险,不知道的朋友可以去试试~ 方法很简单&#xff0…

微信语音怎么转发?微信转发语音居然是这样做的…

微信语音怎么转发?提及微信,现在别说小孩子,即便是年过花甲的部分老前辈也都略知一二。微信刮起了社交圈中的一股热流,自打微信出现以来,社交作用很快就取代了QQ,成为社交界中必不可少的一个工具软件。 但是…

微信语音怎么转发给别人听_新版微信语音转发方法(微信语音怎么转发给别人听)...

微信的用处很多,实用功能也很多,但可惜的是微信不能转发语音。虽然说这样设计,是为了降低被骗的情况,但有时候真的不是很方便。那么微信语音,应该怎么转发呢?下面这几个方法,其实很简单。 实测微…

微信聊天语音怎么转发?轻松易懂,快速学会

在生活中,很多小伙伴都会使用微信作为沟通聊天的工具。在和朋友聊天的时候,有时候会发送语音来进行交流。想要将这些聊天语音转发给朋友,但却不知道怎么做。微信聊天语言怎么转发?看看小编的分享吧! 微信聊天语音怎么转…

【终于等到你】微信转发语音的方法 - 语音信息转发

效果图 核心步骤 收藏语音 > 转存为笔记 > 发送给朋友 步骤 1)多选 - 选中需要转发的语音信息,收藏 2)打开收藏,打开刚才的收藏记录 3)转存为笔记 4)转为笔记后,点击右上角,…

蓝牙连接手表后微信语音来电不响铃

作者:iamlaosong 虽然标题一语道破原因,但找到这个原因还是很偶然的。首先是发现微信语音来电不响铃,各种设置检查,没发现问题。这个过程经过了很久,期间自己折腾、请教别人、上网找答案,甚至怀疑是电脑登…

python微信语音转发方法_【高逼格技巧系列】如何在微信中转发语音

如何在微信中转发语音 今天来给大家介绍一个微信中的高逼格小技巧——如何通过微信本(不借助第三方机器人的情况下)进行语音转发。 相信很多人在看到这个标题后会有两种反应:第一、微信中的语言不能转发;第二、拿起手机打开微信做以下尝试: 1…

Android仿微信语音聊天界面设计

这篇文章主要为大家详细介绍了Android仿微信语音聊天界面设计代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 有段时间没有看视频了,昨天晚上抽了点空时间,又看了下鸿洋大神的视频教程,又抽时间写了个学习记录。代码和老师讲的基本一样,网上也有很多相同的博客。我…

微信语音识别api

广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。 产品优势,什么是云支付,应用场景,管理功能,售前问题,配置子商户,配置服务商,配置门店,验证配置信息,接入一码支付,接入刷卡支付,接入扫码支付,sdk…

Flume面试题二十道

什么是Apache Flume? 参考答案:Apache Flume是一个可靠、分布式、可扩展的日志收集和聚合系统。它用于将大量的日志数据从不同的源(如Web服务器、应用程序日志)传输到目标(如Hadoop、HBase)中进行存储和分析…

html5 audio 微信语音样式,模仿微信语音条的css样式

[非原创,转载] 来源,点击跳转微信语音样式 * { margin: 0; padding: 0; } .box { width: 120px; height: 120px; box-sizing: border-box; position: relative; margin: 50px auto; } .wifi-symbol { width: 50px; height: 50px; box-sizing: border-box; overflow:…

uniapp 微信语音播放功能(整理)

1、在你的小程序中,加上可调用插件,设置-第三方设置-添加插件:微信同声传译。 2、把源码视图 中的appid替换成你自己的appid(点击详情-可查看appid) data(){return{playN: 0,} }, onShow(){this.play(); //语音 },…

微信语音识别接口

广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。未来,我们一起乘风破浪,创造无限可能。 配置子服务商,最新功能,配置会员卡(可选),微信买单拓展助手使用说明,什么是微信买单,服务商和子商户配置(新版),sdk 接入流程,机具对接流程,使…

html5 微信播放语音,html5的audio实现高仿微信语音播放效果

前言 之前做过一个微信的项目,专家回复可以录音,然后储存成mp3格式,前台可以获取mp3,客户可以在线试听mp3录音效果,今天就简单分享一下这个效果如何实现,及实现思路和方法! 效果图 前台大体呈现效果图如下: 点击就可以播放mp3格式的录音。点击另外一个录音,当前录音停…

惊!微信可以转发语音了?!

相信不少人都喜欢使用微信的语音消息,但是目前语音消息有一个痛点,就是无法转发。这就意味着,当你在微信中收到语音消息,想要将语音信息转述给别人的时候,你就只能将语音的内容编辑成文字发送给别人。emmm,…