Hive建表高阶语句、Hive视图

  • Hive建表高阶语句 - CTAS and WITH
  • 创建临时表
  • Hive视图(Views)
    • 视图概述
    • 应用场景
    • Hive视图操作
  • Hive侧视图(Lateral View)

Hive建表高阶语句 - CTAS and WITH

  • CTAS – as select方式建表
 create table ctas_employee as select * from employee;

注:CTAS不能创建partition, external, bucket table

  • CTE (CTAS with Common Table Expression)
create table jobs_details as
with
tmp as (select jobs from employee_partition where info.gender='Male'),
t2 as (select jobs from employee_partition where info.gender='Female')
select tmp.jobs male_job,t2.jobs female_job from tmp,t2;


  • Like
 create table employee_like like employee;

创建临时表

临时表是应用程序自动管理在复杂查询期间生成的中间数据的方法

  • 表只对当前session有效,session退出后自动删除
  • 表空间位于/tmp/hive-<user_name>(安全考虑)
  • 如果创建的临时表表名已存在,实际用的是临时表
#创建临时表(退出hive后临时表会自动删除)
create temporary table j_d as
with
tmp as (select jobs from employee_partition where info.gender='Male'),
t2 as (select jobs from employee_partition where info.gender='Female')
select tmp.jobs male_job,t2.jobs female_job from tmp,t2;




Hive视图(Views)

视图概述

通过隐藏子查询、连接和函数来简化查询的逻辑结构
虚拟表,从真实表中选取数据
只保存定义,不存储数据
如果删除或更改基础表,则查询视图将失败
视图是只读的,不能插入或装载数据

应用场景

将特定的列提供给用户,保护数据隐私
查询语句复杂的场景

Hive视图操作

视图操作命令:create、show、drop、alter

  • 创建视图
    create view 视图名 as select statement;
  • 查找视图
    show tables;(show views 在 hive v2.2.0之后)
    show create table 视图名; - - 查看视图定义
  • 删除视图
    drop 视图名;
  • 更改视图
    alter view 视图名 set tblproperties(‘comment’ = ‘This is a view’) - -更改视图属性
    alter view 视图名 as select statement; - - 更改视图定义
#创建视图
create view v_e_p as select distinct name,address[0],info.age
from employee_partitione join a_p a on e.add=a.test;

#查看视图定义
show create table v_e_p;
select * from v_e_p;



#查看视图结构
desc v_e_p;

Hive侧视图(Lateral View)

  • 常与表生成函数结合使用,将函数的输入和输出连接
  • OUTER关键字:即使output为空也会生成结果
select name,work_place,loc from employee lateral view outer explode(split(null,',')) a as loc;
  • 支持多层级
select name,wps,skill,score from employee
lateral view explode(work_place) work_place_single as wps
lateral view explode(skills_score) sks as skill,score;
  • 通常用于规范化行或解析JSON

案例:

#1、hsfd 创建一个wctestw
hdfs dfs -mkdir /wctest
#2、把a.text上传到hdfs中的wctest文件夹
hdfs dfs -put a.txt /wctest

#3、hive 创建外部表wctest
create external table wctest(line string)
stored as textfile
location '/wctest';
#查看外部表wctest数据
select * from wctest;


#4、侧视图进行查询计数
select word,count(word) from wctest
lateral view explode(split(line,' ')) a as word
group by word;


Hive建表高阶语句、Hive视图相关推荐

  1. java hive建表_java jdbc 操作 hive 建表 load 数据

    // 需要引入 hadoop & hive jar import java.sql.Connection; import java.sql.DriverManager; import java ...

  2. hive建表的标准格式及其建表属性详解1

    Hive建表是学习使用hive的第一步,然后才能基于表对hive数据仓库进行操作.学习建表前,首先要知道hive表的构建属性 ,知道哪些属性是固定的,哪些属性是可以定制的等等. 一.标准hql建表语法 ...

  3. 使用java代码编写脚本,把oracle建表语句变成hive建表语句

    使用java代码编写脚本,把oracle建表语句变成hive建表语句 java代码 测试oracle.sql 生成hive创表语句 java代码 import java.io.File; import ...

  4. Oracle、Hive建表语句

    1.Oracle建表 drop table T_PSSC_TRAN_PORTRAIT_CENTER; create table T_PSSC_TRAN_PORTRAIT_CENTER ( OBJ_ID ...

  5. 大数据单机学习环境搭建(5)Hive建表DDL详解

    专题:大数据单机学习环境搭建和使用 1. Hive建表简单示例 1.1.Hive建表语句 1.2.表详细信息 1.3.数据展示 2. Hive建表语法详解 3.拓展1:复杂数据分割 4.拓展2:事务表 ...

  6. hive建表与mysql建表的区别

    现在大数据时代我们一般企业里都会将数据存储在hadoop这样的分布式系统里,我们可以编写hive-sql对数据进行分析,但是一般的业务系统是基于mysql这样的关系型数据库来进行可视化的,所以将hiv ...

  7. 【Hive】Hive建表基本语法及解释

    Hive建表基本语法 CREATE [EXTERNAL] TABLE [IF NOT EXIST] table_name [(col_name data_type [COMMENT COL_COMME ...

  8. MySQL——高阶语句、存储过程(下)

    MySQL--高阶语句(下) 一.数据库函数 1.数学函数 2.聚合函数 3.字符串函数 4.日期时间函数 二.存储过程 1.概述 2.简介 3.优点 4.创建存储过程 调用存储过程 带参数的存储过程 ...

  9. MySQL——高阶语句(上)

    MySQL高阶语句(上) 一.MySQL高级语句 1.ORDER BY----按关键字排序 单字段排序 多字段排序 2.OR/AND----或/且 3.DISTINCT----查询不重复记录 4.GR ...

最新文章

  1. 机房收费系统【VB版】——上下机
  2. Linux内核常见FAQ
  3. 全球域名商解析新增保有量15强:爱名网落榜
  4. java压缩_Java压缩
  5. 聊聊composer.lock
  6. 中国程序员生存现状?
  7. 下载android 源码对应的kernel版本
  8. [转]有关TinyXML使用的简单总结
  9. Linux常用的查找命令总结
  10. sketch插件的学习 末尾链接有彩蛋
  11. 【机器学习】BP算法推导
  12. 工程施工工地进度监控带天气经纬度相机(监理日志不再难写)
  13. 阿里云CDN是什么?阿里云CDN配置与购买优惠教程
  14. 在PyG上构建自己的数据集
  15. win7系统服务器角色向导,Windows Server2012入门-添加服务器角色和功能
  16. Adoby photoshop cs5永久序列号
  17. app应用程序的好处
  18. C语言通过for循环控制计时,C语言中关于时间的函数
  19. pytorch实现 chatbot聊天机器人
  20. 一维卷积(1D-CNN)、二维卷积(2D-CNN)、三维卷积(3D-CNN)

热门文章

  1. Python实现APP UI自动化以及OpenCV图像识别元素
  2. FA-关于固定资产资产原值调整的处理
  3. Scrapy入门教程实例
  4. 安装双系统误删Windows引导,0xc0000098解决方案
  5. YYCache 设计思路
  6. 隔行扫描(interlaced)与逐行扫描(progressive)的图像对比
  7. 永善县有缘布艺店的窗帘很便宜,推荐购买
  8. Python图像的二值化
  9. HTTP接口交互开发之okhttp
  10. Java设计API 接口统一返回格式