Hive SQL语言:DDL建库、建表

news2024/9/23 1:25:28

Hive SQL语言:DDL建库、建表

Hive数据模型总览

Hive SQL之数据库与建库

SQL中DDL语法的作用

⚫   数据定义语言(Data Definition Language, DDL),是SQL语言集中对数据库内部的对象结构进行创建,删除,修改等的操作语言,这些数据库对象包括database、table等。

⚫ DDL核心语法由CREATE、ALTER与DROP三个所组成。DDL并不涉及表内部数据的操作

Hive中DDL语法的使用

⚫ Hive SQL(HQL)与 标准SQL的语法大同小异,基本相通;

⚫ 基于Hive的设计、使用特点,HQL中create语法(尤其create table)将是学习掌握Hive DDL语法的重中之重

建表是否成功直接影响数据文件是否映射成功,进而影响后续是否可以基于SQL分析数据。通俗点说,没有表,表没有数据,你用Hive分析什么呢?

⚫ 选择正确的方向,往往比盲目努力重要。

⚫ 主要讲解基础的建库与建表语法操作

数据库database

⚫ 在Hive中,默认的数据库叫做default,存储数据位置位于HDFS的/user/hive/warehouse下。

⚫ 用户自己创建的数据库存储位置是/user/hive/warehouse/database_name.db下。

create database

⚫ create database用于创建新的数据库

COMMENT:数据库的注释说明语句

LOCATION:指定数据库在HDFS存储位置,默认/user/hive/warehouse/dbname.db

WITH DBPROPERTIES:用于指定一些数据库的属性配置

create database

⚫ 例子:创建数据库itcast

注意:如果需要使用location指定路径的时候,最好指向的是一个新创建的空文件夹。

use database

⚫ 选择特定的数据库

切换当前会话使用哪一个数据库进行操作

drop database

⚫ 删除数据库

默认行为是RESTRICT,这意味着仅在数据库为空时才删除它。

要删除带有表的数据库(不为空的数据库),我们可以使用CASCADE。

Hive SQL之表与建表

表Table

⚫ 一个数据库通常包含一个或多个表。每个表由一个名字标识(例如“客户”或者“订单”)。

⚫ 表包含带有数据的记录(行)。

 建表语法树(基础)

注意事项

(1)数据类型

⚫ Hive数据类型指的是表中列的字段类型;

⚫ 整体分为两类: 原生数据类型(primitive data type)和复杂数据类型(complex data type)。

⚫ 最常用的数据类型是字符串String和数字类型Int。

(2)分隔符指定语法

⚫ ROW FORMAT DELIMITED语法用于指定字段之间等相关的分隔符,这样Hive才能正确的读解析数据

⚫ 或者说只有分隔符指定正确,解析数据成功,我们才能在表中看到数据。

(2)分隔符指定语法

⚫ LazySimpleSerDe是Hive默认的,包含4种子语法,分别用于指定字段之间、集合元素之间、  map映射kv之间、 换行的分隔符号。

⚫ 在建表的时候可以根据数据的特点灵活搭配使用。

Hive 默认分隔符

⚫ Hive建表时如果没有row format语法指定分隔符,则采用默认分隔符;

⚫ 默认的 分割符是'\001',是一种特殊的字符,使用的是ASCII编码的值,键盘是打不出来的。

Hive默认分隔符

⚫ 在vim编辑器中,连续按下Ctrl+v/Ctrl+a即可输入'\001' ,显示^A

⚫ 在一些文本编辑器中将以SOH的形式显示:


   python大数据方向

2022最新大数据Hadoop入门视频教程,最适合零基础自学的大数据Hadoop教程
2022年大数据spark3.2入门Spark全套视频教程,4天spark3.2快速入门到精通,全网首套基于Python语言的spark教程
2022年MySQL基础入门2022最新MySQL知识精讲+mysql实战案例_零基础mysql数据库入门到高级全套教程

Python+大数据开发
MySQL数据库:2022最新MySQL知识精讲+mysql实战案例_零基础mysql数据库入门到高级全套教程
Hadoop入门:2022最新大数据Hadoop入门视频教程,最适合零基础自学的大数据Hadoop教程
Hive数仓项目:大数据项目实战教程_大数据企业级离线数据仓库,在线教育项目实战(Hive数仓项目完整流程)

PB内存计算
Python入门:全套Python教程_Python基础入门视频教程,零基础小白自学Python必备教程
Python编程进阶:Python高级语法进阶教程_python多任务及网络编程,从零搭建网站全套教程
spark3.2从基础到精通:Spark全套视频教程,4天spark3.2快速入门到精通,全网首套基于Python语言的spark教程
Hive+Spark离线数仓工业项目实战:全网首次披露大数据Spark离线数仓工业项目实战,Hive+Spark构建企业级大数据平台

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

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

相关文章

《反电信网络诈骗法》实行,Galaxybase图平台成为电信反诈黑科技

电信网络诈骗在当前的数字化生活中始终是一个高频讨论词。 近年来,随着互联网技术发展迅速,线上交易趋于频繁化,以电信网络诈骗为代表的新型网络犯罪行为也变得越来越高发。根据中国信通院《新形势下电信网络诈骗治理研究报告(20…

交互式推荐在外卖场景的探索与应用

外卖场景的用户停留时长低于传统电商,对用户实时需求的理解和反馈有更高的要求。针对业务问题,外卖推荐团队从2021年起开始持续投入,最终摸索出了一套适用于外卖场景的交互式推荐架构和策略,并取得了较好的收益。下文将详细介绍外…

论文:拖曳线列阵拖曳噪声抑制的试验研究,阅读笔记

目录摘要目前的噪声来源和抑制的方法1.来源2.抑制方法针对流致振动引起的间接噪声提出解决方法1.结构减振优化设计2.扩大水听器与护套的间距实验1.如何划分对象组2.实验装置实验结果实验组1:结构减振优化设计的效果实验组2:扩大水听器与护套的间距的效果…

跨境电商卖家敦煌、雅虎、乐天、亚马逊测评自养号的重要性!

作为亚马逊、敦煌、乐天、雅虎等跨境的卖家,这两年以来,面对流量越来越贵的现实,卖家需要更加珍惜每次访问listing页面的流量,把转化做好,把流量尽可能转化为更多的订单。 提升转化率的技巧 提升产品转化率&#xff0…

springsecurity最基础的授权过程

​ 在SpringSecurity中,会使用默认的FilterSecurityInterceptor来进行权限校验。在FilterSecurityInterceptor中会从SecurityContextHolder获取其中的Authentication,然后获取其中的权限信息。当前用户是否拥有访问当前资源所需的权限。 ​ 所以我们在项…

【JAVA八股文】JVM虚拟机相关

JVM虚拟机相关1. JVM 内存结构2. JVM 内存参数3. JVM 垃圾回收4. 内存溢出5. 类加载6. 四种引用7. finalize1. JVM 内存结构 结合一段 java 代码的执行理解内存划分 执行 javac 命令编译源代码为字节码执行 java 命令 创建 JVM,调用类加载子系统加载 class&#xf…

使用 ChatGPT 、Stable Diffuison、React和NodeJS构建网站图库

本文译者为360奇舞团前端开发工程师原文标题:Building a website gallery with ChatGPT, Stable Diffusion, React and NodeJS原文作者:Nevo David原文地址:https://javascript.plainenglish.io/building-a-website-gallery-with-chatgpt-sta…

Apollo Planning规划算法仿真调试(15):使用Vscode断点调试apollo的方法更新版

前言 使用Vscode断点调试apollo的方法之前在该专栏写过一篇分享,后台很多粉丝留言希望写的更详细一点,所以更新一版,尽量将配置过程详细描述,并且附上完整的配置文档。 Vscode 作为轻量化的调试工具深受广大开发者的青睐,虽然大家都用它来看新闻逛论坛炒股,但是用它开发…

【郭东白架构课 模块一:生存法则】01|模块导学:是什么在影响架构活动的成败?

你好,我是郭东白。这节课是我们模块一的导入部分,我会先来介绍模块的主要内容,以及为什么我要讲生存法则这个话题。 一名软件架构师要为相对复杂的业务制定,并且引导实施一个结构化的软件方案。这个发现最终方案和推动实施的过程&…

智加科技上市箭在弦上,头部自动驾驶技术企业何去何从?

/ 导读 /受禾赛科技美股上市成功的影响,中国商用车自动驾驶技术公司智加科技也传出了即将拆分在美股上市的消息。其中,智加科技的中国部分据传将被满帮收购,并且将并入自动驾驶卡车公司挚途科技。至于美国部分,将寻求独立上市。对…

python切片总算搞明白了

不会python已久矣! 简单切片 简单切片指的是这样的切片形式:a[start:stop], 左闭右开 负索引可以直接代表那个值 >>> a[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>>> a[2:3][2]>>> a[5:9][5, 6, 7, 8]>>> a[5…

电商导购CPS,拼多多(多多进宝)如何跟单实现用户和订单绑定

前言 大家好,我是小悟 做过自媒体的小伙伴都知道,不管是发图文还是发短视频,直播也好,可以带货。在你的内容里面挂上商品,你自己都不需要囤货,如果用户通过这个商品下单成交了,自媒体平台就会…

Cortex-M0中断控制和系统控制

目录1.NVIC和系统控制块特性2.中断使能和清除使能3.中断挂起和清除挂起4.中断优先级5.中断控制的通用汇编代码使能和禁止中断设置和清除中断挂起状态设置中断优先级6.异常屏蔽寄存器(PRIMASK)7.中断输入和挂起行为8.中断等待9.系统异常的控制寄存器10.系…

JuiceFS 在火山引擎边缘计算的应用实践

火山引擎边缘云是以云计算基础技术和边缘异构算力结合网络为基础,构建在边缘大规模基础设施之上的云计算服务,形成以边缘位置的计算、网络、存储、安全、智能为核心能力的新一代分布式云计算解决方案。边缘存储主要面向适配边缘计算的典型业务场景&#…

Python seek()和tell()函数详解

在讲解 seek() 函数和 tell() 函数之前,首先来了解一下什么是文件指针。我们知道,使用 open() 函数打开文件并读取文件中的内容时,总是会从文件的第一个字符(字节)开始读起。那么,有没有办法可以自定指定读…

分布式事务实现机制及二阶段提交

注:本文章引自终于把分布式事务讲明白了! 分布式事务 分布式事务是指在分布式环境下事务,一个事务由多个数据库节点共同完成。分布式事务也必须要保证事务的ACID的特性。 实现分布式事务原子性的通常做法就是采用两阶段提交协议&#xff0c…

07- Rossmann商店销售预测 (Xgboost集成算法) (项目七)

查看数据是否为空: train.isnull().sum()查看特征元素: train[StateHoliday].unique() # array([0, a, b, c], dtypeobject)绘制热力图: sns.heatmap(df_train.corr(),cmap RdYlGn_r,annotTrue,vmin -1,vmax1)合并商店信息和销售数据: train pd.merge(train, store, on …

高校房产管理系统有哪些管理功能范围?

数图互通高校房产管理系统是基于公司自主研发的FMCenterV5.0平台,是针对中国高校房产的管理特点和管理要求,研发的一套标准产品;通过在中国100多所高校的成功实施和迭代,形成了一套成熟、完善、全生命周期的房屋资源管理解决方案。…

世界上最健康的程序员作息表!「值得一看」

昨晚看了一篇“传说中”的“世界上最健康的作息时间表”,开始纠结自己还要不要5点半起床。 都说程序员这一行,猝死概率极高,究其原因还是加班太狠、作息不规律、缺乏运动… 今天和大家分享一下这篇文章,还是非常值得参考的&#…

基于Java+SpringBoot+Vue+Uniapp前后端分离商城系统设计与实现

博主介绍:✌全网粉丝3W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战✌ 博主作品:《微服务实战》专栏是本人的实战经验总结,《Spring家族及…