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)相关推荐

  1. 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 ...

  2. Hive的HQL的执行过程(怎么转换成MR、Spark等任务)

    在面试时候,被问到了Hive的HQL是怎么转换成MapReduce任务的,回去查了一下资料并看了一下源码,在这里做一下整理. 编译过程概述 能大致说出编译过程,基本已经是满足面试要求了.HiveSQL ...

  3. Hive的HQL语句及数据倾斜解决方案

    [版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/51675005 作者: 朱培          ID ...

  4. Hive之 Hql语法解析

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  5. hive基本hql语句

    1) 创建数据库 create database 数据库名 create database if not exists 数据库名 防止报错 存在直接返回不创建:不存在就创建 2) 切换数据库 use ...

  6. 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 ...

  7. 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的三种安装模式和MySQL搭配使用 一.Hive的安装方 ...

  8. Hadoop集群的基本操作(四:Hive的基本操作)

    实验 目的 要求 目的: (1)掌握数据仓库工具Hive的使用: 要求: 掌握数据仓库Hive的使用: 能够正常操作数据库.表.数据: 实 验 环 境 五台独立PC式虚拟机: 主机之间有有效的网络连接 ...

  9. Hadoop集群搭建(八:Hive的安装配置)

    实验 目的 要求 目的: (1)掌握数据仓库工具Hive的安装和配置: 要求: 完成Hive工具的安装和配置: Hive工具能够正常启动运行: Hive控制台命令能够正常使用: 能够正常操作数据库.表 ...

最新文章

  1. 图解 SQL 里的各种 JOIN
  2. 【深度学习】Swin Transformer结构和应用分析
  3. JENKINS系统的安装部署
  4. Intel硬件加速 VS CUDA完胜 视频转码感受
  5. jQuery 图片裁剪插件 Jcrop
  6. ectouch第六讲 之表常用链接
  7. android颜色表
  8. Spring boot 开发组件
  9. 国网B接口调阅实时视频(INVITE)接口描述和消息示例
  10. 学术论文的格式要求是怎样的?
  11. 电风扇计算机控制系统,电脑控制型电风扇电路原理与检修
  12. 程序员应该具备哪些素养
  13. 编写一个函数,简单模拟微信发红包算法。
  14. iOS开发:使用大图+脚本,生成各种size的app icon和图片素材
  15. OpenGL基本图元的绘制
  16. MTK样机抓取log
  17. 风投Placeholder的区块链价值观,了解一下
  18. 看着很滑稽,但现实又何尝不是这样呢?
  19. 2.21天21步:三周实现创业起步!
  20. 用latex写IEEE论文投稿的踩坑笔记

热门文章

  1. Tensorflow-Estimator-自定义估算器
  2. HTML中的5种空格表示,HTML中的5种空格各表示的意义
  3. qt 回调函数设置界面_回调函数实现类似QT中信号机制(最简单)
  4. java str2date,java date类与string类实例代码分享
  5. linux查看系统版本_轻松查看Win10系统版本、版本号的技巧
  6. 2020年奇安信校招JAVA岗笔试
  7. 2021年5月信息系统项目管理师案例分析真题+视频讲解(1)
  8. Vue项目借助浏览调整适配显示器的分辨率
  9. CentOS中部署jar包时提示:org.quartz.SchedulerException: Couldn‘t get host name
  10. Winform中使用FastReport的DesignReport时怎样设置Table的size自动调整