Hive-HQL数据定义DDL

Zemax非序列模式微透镜阵列仿真:从建模到优化完整指南 光线追迹是光学系统仿真的核心技术,其原理基于几何光学与物理光学的光线传播模型,通过精确计算光线在光学元件中的折射、反射与散射路径,实现对系统性能的预测与评估。在微透镜阵列等复杂多通道光学系统中,传统序列模式因光线路径受限而难以准确模拟串扰与杂散光,非序列光线追迹技术则凭借其灵活的空间传播机制成为关键手段。该技术广泛应用于激光整形、光束匀化、3D传感及光场成像等领域,能够有效支持阵列结构设计与优化。Zemax非序列模式为微透镜阵列仿真提供了完整的建模、优化与公差分析流程,是光学工程师进行复杂系统设计的核心工具 阅读详情
介绍前的几点说明:

1、Hive不支持行级别的操作,也不支持事务;

2、Hive中的数据库本质上仅仅是HDFS的一个目录,数据库中的表将会以这个数据库目录子目录的形式存储;

3、如果用户没有指定数据库,Hive将会使用默认的数据库default;

4、数据库的目录位于属性hive.metastore.warehouse.dir所指定的顶层目录之后;

5、数据库的文件目录名是以.db结尾的;

6、Hive的master-server依据hadoop配置文件中fs.default.name作为master-server的服务器名和端口号;

7、默认情况下,Hive不允许删除一个包含表的数据库,如果需要级联删除,需加关键字cascade;

8、Hive中关键字table和schema是含义相同;

9、Hive会自动为表增加两个属性:last_modified_by和last_modified_time;

A、如果不想使用默认表路径,为了避免产生混淆,建议使用外部表;

B、相对于外部表而言是管理表,Hive会控制着管理表的数据的生命周期;Hive删除管理表会同时删除其数据,如果和其他工作共享数据,则使用外部表,创建一个表指向外部数据,但是并不需要对其具有所有权,删除表时并不会删除数据;

C、防止用户对分区表误操作,没有添加分区过滤器(where谓词)从而触发一个巨大的MapReduce任务,可以将Hive设置为'strict'模式:set hive.mapred.mode=strict;

D、用户不小心删除的数据会移到用户根目录的.Trash目录下,不过需要配置fs.trash.interval=1440,1440是回收站检查点的时间间隔,单位是分钟;

注:博客中关键字用的是小写,实际中大家最好都使用大写,以作区别;

创建一个数据库:

    create database test_db comment 'test datebase';

    create database if not exists test_db comment 'test database';

    create database test_db location '/hive/db/directory';

    create database test_db with dbproperties ('creator' = 'user', 'date' = '20151010');

查看数据库:

    show databases;

    show databases like 'h.*';

查看具体数据库:

    describe database test_db;

    describe database extended test_db;

切换数据库:

    use test_db;

删除数据库:

    drop database if exists test_db;

    drop database if exists test_db cascade;

Hive中不允许更改数据库的元数据信息,唯一可改变的就是添加数据库的dbproperties值:

    alter database test_db set dbproperties ('key' = 'value');

在Hive cli提示符中显示db名:

    set hive.cli.print.current.db=true;

显示数据库中的表:

    show tables;

    show tables in test_db;

    show tables 'test.*';

    注:in test_db和使用正则表达式功能暂不支持同时使用;

创建表:

    create table [if not exists] [test_db.]test_table (

        stringfield string [comment 'string field'],

        floatfield float [comment 'float field'],

        arrayfield array<string> [comment 'array field'],

        mapfield map<string, float> [comment 'map field'],

        structfield struct<field1:string, field2:int> [comment 'struct field']

    )

    [comment 'description of the table']

    [tblproperties ('key1' = 'value1', 'key2' = 'value2')]

    [row format delimited

    fields terminated by '\001'

    collection items terminated by '\002'

    map keys terminated by '\003']

    [lines terminated by '\n']

    [stored as textfile]

    [location '/hive/table/directory'];

    create table [if not exists] [test_db.]test_table like [test_db.]other_table [location '/hive/table/directory'];

v0.10.0版本查看表tblproperties:

    show tblproperties test_table;

查看表详细信息:

    desc test_table;

    describe extended test_table;

    describe formatted test_table;

只查看表中某一列的信息:

    describe test_db.test_table.column;

创建外部表:

    create external table if not exists test_table (

        name string

    )

    location '/hive/external/table/directory';

    create external table test_table like other_tablelocation '/hive/external/table/directory';

创建分区表:

    create table test_table (

        name string

    )

    partitioned by (pt_key1 string, pt_key2 int);

    分区改变了Hive对数据的存储方式,如果没有分区存储路径为:hdfs://master-server/.../hive_workdir/hive_warehouse/test_db.db/test_table

    使用分区后路径为:.../test_db.db/test_table/pt_key1=value1/pt_key2=value2

    分区字段与普通字段一样,可以直接查询,但是在where中只用分区字段可以提供查询性能(分区字段的用途!);

查看表中的分区:

    show partitions test_table;

    show partitions test_table partition (pt_key1='value');

    describe extended test_table;

load数据到分区表:

    load data local inpath '${env:HOME}/file' into table test_table partition (pt_key1 = 'value1', pt_key2 = 'value2');

可以用alter table的方式为一个分区表添加分区:

    alter table test_table add partition (pt_key1=value1, pt_key2=value2) location 'hdfs://master-server/data/value1/value2';

    注意该路径,可以不使用Hive分区表的路径命名习惯;使用该方式类似于外部表,表删除,数据也不会跟着删除;

    alter同时可以更改分区对应的目录地址:

    alter table test_table partition (pt_key1=value1, pt_key2=value2) set location 'hdfs://new/path';

    describe extended test_table会显示所有的分区键,同时只能显示默认的存储路径,如果需要查看上述方式创建的特定分区所在的路径只能通过以下命令:

    describe extended test-table(pt_key1=value1, pt_key2=value2);

自定义表的存储格式:

    Hive的默认存储格式是文本文件格式textfile,用户还可以使用stored as语句设置其他Hive所支持的内置文件格式,包括sequencefile和rcfile,这两种格式都是使用二进制编码和压缩(可选)来优化磁盘空间使用以及IO带宽性能的;对于记录是如何编码成文件的,是通过InputFormat对象控制的,例如TextInputFormat;记录的解析是由序列化/反序列化器SerDe控制的,比如LazySimpleSerDe;Hive还有OutputFormat控制将查询结果输出到文件中或者控制台,比如HiveIgnoreKeyTextOutputFormat。

    通俗的讲,Hive使用一个InputFormat对象将输入流分割成记录,然后使用一个OutputFormat对象来将记录格式化为输出流,在使用一个SerDe在读数据时将记录解析成列,在写数据时将列编码成记录。这三个对象用户都可以进行自定义:

    create table test_table (

        name string

    )

    partitioned by (pt_key string)

    row format serde 'com.your.own.ExampleSerDe'

    with serdeproperties ('schema.url' = 'http://www.example.com')    -- 传递配置信息给SerDe

    stored as

    inputformat 'com.your.own.ExampleInputFormat'

    outputformat 'com.your.own.ExampleOutputFormat';

删除表:

    drop table if exists test_table;

重命名表:

    alter table test_table rename to new_table;

增加、修改和删除分区:

    alter table test_table add partition ... location ... partition ... location ...

    alter table test_table partition(...) set location ...

    alter table test_table drop if exists partition(...);

修改列信息:

    alter table test_table change column old_field new_field string comment '' after other_field (first);

    alter table test_table add columns (new_field1 string comment '', new_field2 int comment '');

重新定义表数据列:

    alter table test_table replace columns (

        new_field1 string comment '',

        new_field2 int comment ''

    );

用户只能增加表属性或者修改已存在属性,并不能删除属性:

    alter table test_table set tbproperties ('new_prop' = 'new value');

修改表存储属性:

    alter table test_table partition(...) set fileformat sequencefile;

其他一些有用的修改表语句(只支持分区表):

    alter table test_table archive partition (...);

    将指定分区内的文件打包成一个Hadoop压缩HAR包,这样仅仅可以降低文件系统中的文件数,减轻NameNode的压力,而不会减少任何的存储空间;

    alter table test_table unarchive partition (...);

    alter table test_table partition(...) enable no_drop; 防止分区被查询

    alter table test_table partition(...) enable offline; 防止分区被查询


Hive支持DDL操作大概就这些,日常工作基本够用了...


SAP FI模块实操:用F-28和F-32搞定客户回款与手动清账,别再让未清项报表一团糟 本文详细解析了SAP FI模块中F-28和F-32事务代码在客户回款与手动清账中的实操应用,帮助财务人员高效管理未清项报表。通过标准清账六步法和手动清账实战技巧,解决因操作不规范导致的账务混乱问题,提升应收账款管理效率。 阅读详情

相关推荐

Apache Doris集群IP变更急救指南:用Docker容器+priority_networks快速恢复FE/BE节点

本文详细介绍了Apache Doris集群在IP变更情况下的应急处理方案,通过Docker容器和priority_networks配置快速恢复FE/BE节点。文章提供了从容器化环境构建、元数据迁移到生产环境切换的全流程指南,帮助运维团队在30分钟内完成集群恢复,显著减少停机时间。

pink7的博客 114

数据库-MySQL-基础(2)-DDL操作

一、DDL-数据库操作 二、 DDL -表操作-查询 三、 DDL -表操作-创建 四、DDL数据类型和案例 1、数值类型 2、字符串类型 3、日期类型 4、案例 五、DDL- 表操作-修改 添加字段 修改数据类型 修改字段名和字段类型 删除字段 修改表名 六、DDL-表操作-删除 删除表 删除指定表,并重新创建该表 本篇文章参考黑马程序员数据库基础篇的DDL操作,希望可以对你的数据库学习有所帮助

莫浅子的博客 4165

汽车OBD接口实战:如何用STM32读取CAN总线数据(附完整代码)

本文详细介绍了如何利用STM32微控制器通过汽车OBD接口读取CAN总线数据的完整实战方案。内容涵盖硬件连接(如OBD引脚定义与TJA1050收发器接线)、STM32的CAN外设初始化与滤波器配置,并深入解析OBD-II诊断协议,演示了如何请求和解析发动机转速、车速等关键数据。文末提供了构建稳定数据读取系统的代码框架与错误处理建议,为嵌入式开发者和汽车电子爱好者提供了从零到一的实践指南。

9q8w7e6r5的博客 297

DDL基础操作

DDL:操作数据库,表 1.操作数据库:CRUD C (Create): 创建 *创建名为”db“的数据库 create database db; *创建名为”db1“,字符集为utf8的数据库 create database db1 character set utf8; R (Retrieve):查询 *查询所有数据库的名称: show databases; *查询名为”mysql“的数据库的创建语句: show create database mysql; *查询当前正在使用的数据库名称: *se

weixin_45139640的博客 2207

2.1 SRv6 TE Policy

SRv6 TE Policy是在SRv6技术基础上发展的一种新的隧道引流技术。SRv6 TE Policy路径表示为指定路径的段列表(Segment List),称为SID列表(Segment ID List)。每个SID列表是从源到目的地的端到端路径,并指示网络中的设备遵循指定的路径,而不是遵循IGP计算的最短路径。如果数据包被导入SRv6 TE Policy中,SID列表由头端添加到数据包上,网络的其余设备执行SID列表中嵌入的指令。

m0_70976024的博客 1237

记录:rk3568适配开源GPU驱动(panfrost)

摘要:本文介绍了在RK3568芯片上移植Mali-G52 GPU驱动的过程。主要包括内核dts文件修改和内核配置调整两部分。

xuesong10210的博客 2236

数据库开发之图形化工具以及表操作的详细解析

前面我们讲解了DDL中关于数据库操作的SQL语句,在我们编写这些SQL时,都是在命令行当中完成的。大家在练习的时候应该也感受到了,在命令行当中来敲这些SQL语句很不方便,主要的原因有以下 3 点:没有任何代码提示。(全靠记忆,容易敲错字母造成执行报错)操作繁琐,影响开发效率。(所有的功能操作都是通过SQL语句来完成的)编写过的SQL代码无法保存。在项目开发当中,通常为了提高开发效率,都会借助于现成的图形化管理工具来操作数据库。

qq_69748833的博客 1141

免费搞定DWG转DXF:ODA File Converter保姆级配置指南(附常见报错解决)

本文详细介绍了如何使用ODA File Converter免费工具实现DWG到DXF的格式转换,包括环境配置、命令行参数解析、编程集成方案及常见问题解决。特别针对网络访问异常、参数配置等实际痛点提供应对策略,帮助用户高效完成工程设计文件的格式转换。

weixin_29291185的博客 6010

数据库之DDL操作(数据库,表,字段)

Data Definition Language,数据库定义语言,用来定义数据库对象(数据库,表,字段)

atomy_iiii的博客 3302

ComfyUI-Impact-Subpack插件安装避坑指南:为什么你的UltralyticsDetectorProvider节点还是找不到?

本文深入解析了ComfyUI-Impact-Subpack插件的安装与排障问题,特别是针对UltralyticsDetectorProvider节点缺失的常见问题提供了详细的解决方案。从底层机制到高阶应用,涵盖了手动安装、模型配置、性能优化等关键步骤,帮助用户彻底解决插件依赖关系断裂问题。

Jerry的专栏 1152

AI大模型助力现金流精准预测案例详解

因为它的“注意力机制”能像“人一样思考”——比如,当预测“下周现金流”时,模型会重点关注“最近7天的销售数据”“未来7天的天气”“竞品是否有促销”这些关键因素,而忽略“去年同期的无关数据”。AI大模型不是“取代”财务人员,而是“赋能”他们——把财务人员从“重复的Excel操作”中解放出来,专注于“战略决策”(比如如何优化资金结构、如何提升资金利用率)。比如,“促销力度”这个特征,不是简单的“折扣率”,而是“折扣率×促销天数×覆盖SKU数量”,这样能更准确反映促销对现金流的影响。这些问题的核心,其实是。

AIGC应用创新大全的博客 1258

DDL语言基础操作梳理(未涉及约束部分版)

DDL(Data Definition Language) 数据定义语言 1. 基本操作 查看所有数据库名称:【语法:show databases;】 切换数据库:【语法:use test;】,切换到test数据库; 显示表:【语法:show tables;】 查询表:【语法:select * from goods;】 2.操作数据库 2.1 创建数据库: #语法: create database test999; 细粒度:如果不存在创建,存在就不创建! create database

不想掉头发$的博客 1737

ubuntu-25.04-desktop-amd64 工具VMware-tools 正确安装方法

摘要:Ubuntu 25.04虚拟机安装VMware Tools后无法实现主机与虚拟机间的文件复制粘贴和拖拽功能,问题可能源于工具兼容性。建议优先安装open-vm-tools套件(含open-vm-tools-desktop),而非官方VMware Tools。具体方案:通过终端执行安装命令后重启系统。该方法已实测有效解决该兼容性问题。(149字)

安徽锐锋科技-沐雨潇竹 672

六,Hive之HQL详述。HQL之DDL语言,对库,表,表结构的操作。数据定义语言

HIVE种的DDL操作命令大全。对库,表,表结构的操作

qq_55006020的博客 1058

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

[Hive] 04 - HQL:数据定义(DDL)上-【数据库和表】

DDL(Data Definition Language,数据定义语言),用于创建数据库中的各种对象,如:数据库、表、视图等。 本文将讲述Hive QL DDL的各种操作

神是念着倒 1340

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

[Hive] 05 - HQL:数据定义(DDL)下-【视图、索引、宏、函数等】

全文关于Hive QL的数据定义语言(DDL)第二部分:创建、删除、修改、描述-【视图、索引、宏、函数等】

神是念着倒 874

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

HIVE-所学复盘-2 - HQL-数据定义(DDL)

1. 数据库定义、修改、删除 HIVE中的数据库本质上为表的一个目录或命名空间,可避免表名冲突。HIVE为每一个数据库创建一个目录,数据库中的表以该目录的子目录形式存储(default数据库除外)。 定义数据库 CREATE DATABASE [IF NOT EXISTS] database_name( name STRING, salary FLOAT, ...

Python从入门到脱发-Week1 175

hive之HQL常用命令

Hive之HQL常用命令 HQL常用命令Hive之HQL常用命令一、DDL数据定义1、创建数据库:2、查询数据库:3、修改数据库:4、删除数据库:5、创建表:6、分区表:7、修改表:8、删除表:二、DML数据操作1、向表中加载数据:2、插入数据:3、import的导入导出:4、数据导出5、清除表中数据:三、查询1、查询:2、算术运算符:+、-、*、/、%、&、|、^、~3、常用函数:4、limit语句:限制返回的函数,在sql语句最后一行;where语句:筛选条件;5、比较运算符:between、i

qq_41275983的博客 1669

Hive 快速入门(全面)

转载: https://www.codercto.com/a/5110.html 前言 我写这篇文章的目的是尽可能全面地对Hive进行入门介绍,这篇文章是基于hive-1.0.0版本介绍的,这个版本的Hive是运行在MapReduce上的,新的版本可以运行在Tez上,会有一些不同。 Hive是对数据仓库进行管理和分析数据的工具。但是大家不要被“数据仓库”这个词所吓倒,数据仓库是很复杂的东西,...

Flyer的后花园 1万+

Hadoop基础教程-第11章 Hive:SQL on Hadoop(11.5 HQL:DDL数据定义)(草稿)

第11章 Hive:SQL on Hadoop11.5 HQL:DDL数据定义HQL中数据定义部分,也就是DDL,主要包括数据库定义和数据表的定义。

程裕强的专栏 1197

Hive——HQL数据定义语言

MySQL => 核心 => SQL语句:DDL :数据定义语言,建库、建表DML :数据操纵语言,增、删、改DQL :数据查询语言,查DCL :数据控制语言,用户与权限控制 => rootHive中的数据类型指的是Hive表中的列字段类型。原生数据类型(primitive data type)和==复杂数据类型数值类型、时间类型、字符串类型、杂项数据类型;array数组、map映射、struct结构、union联合体。关于Hive的数据类型,需要注意:英文字母大小写不敏感;。

m0_66925868的博客 1960

Hive最全入门

目录 前言 一、Hive简介 二、Hive架构 三、基本数据类型 四、DDL语法 五、DML语法 六、HQL语法 七、JOIN 八、排序 九、自定义函数 十、MapReduce执行过程 十一、性能优化 十二、后记 参考资料 前言 我写这篇文章的目的是尽可能全面地对Hive进行入门介绍,这篇文章是基于hive-1.0.0版本介绍的,这个版本的Hive是运行在MapReduce上的,新的版本可以运行在Tez上,会有一些不同。 Hive是对数据仓库进行管理和分析...

数仓老六 1270

Hive笔记-By Layne

一、Hive基本概念 1.1 hive是什么 hive是基于hadoop的一个数仓分析工具,hive可以将hdfs上存储的结构化的数据,映射成一张表,然后让用户写HQL(类SQL)来分析数据 tel up down 1383838438 1345 1567 1383838439 5345 1567 1383838440 1241 16577 1383838441

sinat_36894556的博客 856

SQL Beautify:VSCode SQL代码美化插件使用指南

SQL Beautify是一款专为Visual Studio Code设计的开源扩展程序,能够帮助开发者轻松美化SQL和HQL代码。该插件基于JavaScript开发,特别增强了对Hive SQL的支持,适合数据库管理和开发人员使用。 ## 主要功能特性 ### 1. 一键美化SQL代码 确保当前文档语言模式设置为SQL,选中需要美化的SQL代码块,使用快捷键`Alt+Shift+f`即可快速

gitblog_00913的博客 1170

【十八掌●武功篇】第十掌:Hive之基本语法

这一篇博文是【大数据技术●降龙十八掌】系列文章的其中一篇,点击查看目录:大数据技术●降龙十八掌 一、前言 我写这篇文章的目的是尽可能全面地对Hive进行入门介绍,这篇文章是基于hive-1.0.0版本介绍的,这个版本的Hive是运行在MapReduce上的,新的版本可以运行在Tez上,会有一些不同。 Hive是对数据仓库进行管理和分析数据的工具。但是大家不要被“数据仓库”这个词所吓倒,数

鸣宇淳的专栏 1557

9、Hive数据仓库——DDL、DQL概述

Hive数据仓库——DDL、DQL概述

hujieliang123的博客 2042
上一篇: Hive-数据类型和文件格式
下一篇: Hive-HQL数据定义DML
young2simple
博客等级 码龄11年 0粉丝 6原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值