Hive的HQL(2)
Hive基础(1)
Hive的HQL(2)
1. HQL的数据定义,HQL是一种SQL方言,支持绝大部分SQL-92标准。但是和SQL的差异为:不支持行级别的操作,不支持事务等。HQL的语法接近于MySQL。
2. Hive的数据库,本质仅仅是个表的目录或者命名空间。一般用数据库将生产表组织成逻辑组。
3. Hive中的表–管理表,创建表时未指定的话为默认为管理表。当删除管理表时,Hive将删除管理表中的数据和元数据。
CREATE TABLE IF NOT EXISTS test.student (
name STRING COMMENT 'student name',
age INT COMMENT 'student age',
cource ARRAY<STRING>,
body MAP<STRING,FLOAT>,
address STRUCT<STRING,CITY:STRING,STATE:STRING>)
COMMENT 'the info of student'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\001'
COLLECTION ITEMS TERMINATED BY '\002'
MAP KEYS TEMINATED BY '\003'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE
LOCATION '/user/hive/warehouse/test.db/student';
- COMMENT注释作用
- ROW FORMAT DELIMITED等指定数据格式和文件存储格式。
- LOCATION子句指定该表的存储位置,若不写存储在Hive默认的数据仓库目录中。
4. Hive中的表–外部表,当数据需要被多个工具(如Pig、Hive)共享时,创建一个外部表明确数据的所有权,Hive只会删除该表的元数据信息,而不会删除该表的数据。
CREATE EXTERNAL TABLE IF NOT EXISTS test.student(
name STRING COMMENT,
age INT COMMENT,
cource ARRAY<STRING>,
body MAP<STRING,FLOAT>,
address STRUCT<STREET:STRING,CITY:STRING,STATE:STRING>)
LOCATION '/user/test/x'
- EXTERNAL TABLE 创建一个外部表
5. Hive中的表–分区表(partition),分区表可以进行水平切分,将表数据按照某种规则进行存储。
CREATE TABLE student_info(
student_ID STRING,
name STRING,
age INT,
sex STRING,
father_name STRING,
mother_name STRING)
PARTITIONED BY (province STRING,city STRING);
- PARTITIONED BY 子句指定表按照学生家庭住址的city和province字段进行分区。
- /user/hive/warehouse/student_info/province=hebei/city=handan
- 分区的作用相当和索引类似。
- Hive安全措施,设置“strict”模式,这样如果针对一个分区表的查询没有对分区进行限制的话,改作业将会被禁止提交。
- 单独为外部表的分区指定值和存储位置
ALTER TABLE student_info ADD PARTITION (province = hebei,city = handan) LOCATION 'hdfs://master:9000/student/hebei/handan'
- 外部分区表被删除,数据不会被删除。
6. 删除表 DROP TABLE test 或者 DROP TABLE IF EXISTS test
7. 修改表
- 表重命名 ALTER TABLE test RENAME TO test2
- 增加、修改、删除分区
- 增加分区 ALTER TABLE test ADD PARTITION (x = x1, y = y2) LOCATION ‘/user/test/x1/y1’
- 修改分区 ALTER TABLE test ADD PARTITION (x = x1, y = y2) SET LOCATION ‘/user/test/x1/y1’
- 删除分区 ALTER TABLE test ADD DROP PARTITION (x = x1, y = y2)
- 修改列信息
ALTER TABLE test
CHANGE COLUMN id uid INT
COMMENT ‘the unique id’
AFTER name; - 增加列
ALTER TABLE test ADD COLUMNS (new_col INT, new_col2 STRING); - 删除或者替换列
ALTER TABLE test REPLACE COLUMNS (new_col INT, new col2 STRING);
8. HQL的数据操作 LOAD DATA
转载于:https://www.cnblogs.com/lanzhi/p/6467709.html
Hive的HQL(2)相关推荐
- hive的hql怎么运行_在Ubuntu上安装Apache Hive并运行HQL查询
hive的hql怎么运行 In this lesson, we will see how we can get started with Apache Hive by installing it on ...
- Hive的HQL的执行过程(怎么转换成MR、Spark等任务)
在面试时候,被问到了Hive的HQL是怎么转换成MapReduce任务的,回去查了一下资料并看了一下源码,在这里做一下整理. 编译过程概述 能大致说出编译过程,基本已经是满足面试要求了.HiveSQL ...
- Hive的HQL语句及数据倾斜解决方案
[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/51675005 作者: 朱培 ID ...
- Hive之 Hql语法解析
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...
- hive基本hql语句
1) 创建数据库 create database 数据库名 create database if not exists 数据库名 防止报错 存在直接返回不创建:不存在就创建 2) 切换数据库 use ...
- hive hql 普通查询 练习
普通查询 1. 使用hive的hql查询用户所在部门 dpt表 dpt_id dpt_name 1 产品 2 技术user_dpt表 user_id dpt_id 1 1 2 1 3 2 4 2 5 ...
- 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用
全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的三种安装模式和MySQL搭配使用 一.Hive的安装方 ...
- Hadoop集群的基本操作(四:Hive的基本操作)
实验 目的 要求 目的: (1)掌握数据仓库工具Hive的使用: 要求: 掌握数据仓库Hive的使用: 能够正常操作数据库.表.数据: 实 验 环 境 五台独立PC式虚拟机: 主机之间有有效的网络连接 ...
- Hadoop集群搭建(八:Hive的安装配置)
实验 目的 要求 目的: (1)掌握数据仓库工具Hive的安装和配置: 要求: 完成Hive工具的安装和配置: Hive工具能够正常启动运行: Hive控制台命令能够正常使用: 能够正常操作数据库.表 ...
最新文章
- 图解 SQL 里的各种 JOIN
- 【深度学习】Swin Transformer结构和应用分析
- JENKINS系统的安装部署
- Intel硬件加速 VS CUDA完胜 视频转码感受
- jQuery 图片裁剪插件 Jcrop
- ectouch第六讲 之表常用链接
- android颜色表
- Spring boot 开发组件
- 国网B接口调阅实时视频(INVITE)接口描述和消息示例
- 学术论文的格式要求是怎样的?
- 电风扇计算机控制系统,电脑控制型电风扇电路原理与检修
- 程序员应该具备哪些素养
- 编写一个函数,简单模拟微信发红包算法。
- iOS开发:使用大图+脚本,生成各种size的app icon和图片素材
- OpenGL基本图元的绘制
- MTK样机抓取log
- 风投Placeholder的区块链价值观,了解一下
- 看着很滑稽,但现实又何尝不是这样呢?
- 2.21天21步:三周实现创业起步!
- 用latex写IEEE论文投稿的踩坑笔记
热门文章
- Tensorflow-Estimator-自定义估算器
- HTML中的5种空格表示,HTML中的5种空格各表示的意义
- qt 回调函数设置界面_回调函数实现类似QT中信号机制(最简单)
- java str2date,java date类与string类实例代码分享
- linux查看系统版本_轻松查看Win10系统版本、版本号的技巧
- 2020年奇安信校招JAVA岗笔试
- 2021年5月信息系统项目管理师案例分析真题+视频讲解(1)
- Vue项目借助浏览调整适配显示器的分辨率
- CentOS中部署jar包时提示:org.quartz.SchedulerException: Couldn‘t get host name
- Winform中使用FastReport的DesignReport时怎样设置Table的size自动调整