Hive Learning

HIVEQL和MYSQL最为接近

数据操作

SHOW TABLES IN crm_integration

Show tables 'dim_con*'

DESCRIBE EXTENDED crm_integration.itg_fact_sales_order

DESCRIBE FORMATTED crm_integration.itg_fact_sales_order

show partitions crm_integration.itg_fact_sales_order  --查看表中所有分区

DELETE TABLE

DROP TABLE IF EXSTS employees

.Trash(需要开启回收站功能)

ALTER TABLE log_MESSAGES RENAME TO logmsgs;

ALTER TABLE table ADD PARTITION…

ALTER TABLE logmessages DROP IF EXISTS PARTITION (year = 2011, month =12, _day =2 )

ALTER TABLE log ADD COLUMNS(app_name STRING COMMENT ‘application name’)

替换列:REPLACE

ARCHIVE PARTITION

保护:

ALTER TABLE logmessages DROP IF EXISTS PARTITION (year = 2011, month =12, day =2 ) ENABLE NO_DROP

ALTER TABLE logmessages DROP IF EXISTS PARTITION (year = 2011, month =12, day =2 ) ENABLE OFFLINE

装载数据

Load data local

Overwrite

集合数据类型中的元素提取:

SELECT name, subordinates[0] FROM employees;

SELECT name, deductions[“State Taxes”] FROM EMPLOYEES;

这里deductions列是一个map,jason格式。

引用struct中的元素,可以用点。

SELEFCT name, ADDRESS.CITY FROM EMPLOYEES;

正则表达式:

LIKE, RLIKE

LIMIT 2

谓词:

A<> B

A !=B

A is null

A IS NOT NULL

A LIKE B

A NOT LIKE B

A RLIKE B

A REGEXP B

JOIN(笛卡尔积) --消耗资源,不建议

LEFT OUTER JOIN

LEFT SEMI-JOIN:

返回左边表的记录,前提是记录对于右边表满足ON语句中的判定条件。Sql回通过IN…EXISTS结构来处理这种情况。

HIVE不支持RIGHT SEMI-JOIN

SEMI-JOIN比inner join要更高效。

SORT BY –每个reducer中对数据排序,局部排序过程

ORDER BY—全局有序

DISTRIBUTE BY –写在SORT BY 前面。

CLUSTER BY

数据类型:

CAST(SALARY AS FLOAT)

6.9 抽样查询:

RAND()

数据块抽样:

SELECT * FROM numbersflat TABLESAMPLE (0.1 PERCENT) s;

CREATE TABLE shipments2 LIKE shipment

索引:

Show FORMATTED INDEX ON employess

调优

EXPLAIN

EXPLAIN SELECT SUM(NUMBER) FROM onecol;

EXPLAIN EXTENDED

HIVE - HIVEQL学习笔记的更多相关文章

  1. HIVE优化学习笔记

    概述 之前写过关于hive的已经有两篇随笔了,但是作者依然还是一枚小白,现在把那些杂七杂八的总结一下,供以后查阅和总结.今天的文章介绍一下hive的优化.hive是好多公司都在使用的东西,也有好多大公 ...

  2. hive kettle 学习笔记

    学习网址 http://wiki.pentaho.com/display/BAD/Transforming+Data+within+Hive

  3. 60分钟内从零起步驾驭Hive实战学习笔记

    本博文的主要内容是: 1. Hive本质解析 2. Hive安装实战 3. 使用Hive操作搜索引擎数据实战 SparkSQL前身是Shark,Shark强烈依赖于Hive.Spark原来没有做SQL ...

  4. 60分钟内从零起步驾驭Hive实战学习笔记(Ubuntu里安装mysql)

    本博文的主要内容是: 1. Hive本质解析 2. Hive安装实战 3. 使用Hive操作搜索引擎数据实战 SparkSQL前身是Shark,Shark强烈依赖于Hive.Spark原来没有做SQL ...

  5. hive sql 学习笔记

    1.coalesce 语法: COALESCE ( expression [ ,...n ] ) 参数: expression 任何类型的表达式. 返回类型: 返回数据类型优先级最高的 express ...

  6. hive学习笔记之六:HiveQL基础

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  7. hive学习笔记之一:基本数据类型

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  8. hive学习笔记之三:内部表和外部表

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  9. hive学习笔记之四:分区表

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  10. hive学习笔记之五:分桶

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

随机推荐

  1. ChatGPT强势爆红,背后的技术原理是?一文轻松搞懂!

    目录 什么是ChatGPT? OpenAI 背后的原理和发展历程 带来的争议和挑战 尾语 作者:小牛呼噜噜 | https://xiaoniuhululu.com 计算机内功.源码解析.科技故事.项目 ...

  2. 化学式latex语法

    $2 CO_2 \stackrel{光}{\underset{\text{催化剂}}{\longrightarrow}}2 Fe + 3 CO_2$ $\ce{CO2}$ $\ce{CU2+}$ $\ ...

  3. 转码服务serverless探索

    背景 公司目前主要聚焦于视频这个领域,利用视频为媒体.文旅.会议等行业进行赋能. 既然聚焦于视频领域,那么视频转码则是绕不开的话题. 为了降低成本,以及保证产品的核心能力,公司自建了一套转码系统. 转 ...

  4. vue中引入静态图片

    vue+webpack中,可以使用require imageList: [ { url: require('../image/pig.png') } ] vue+vite没有require方法 // ...

  5. sqlit 自增id为null

    CREATE TABLE proejct( id UNSIGNED INTEGER AUTO_INCREMENT, name VARCHAR(50) NOT NULL, type CHAR(10) N ...

  6. Occlusion(遮挡剔除)

    Occlusion 1.视锥体剔除(Frustum Culling) 根据摄像机的视见体的范围对场景模型进行剔除操作,在视见体以外的物体不被渲染,但是在视见体中的物体会以离摄像机最远的物体开始渲染,逐 ...

  7. shiyansi

    #include <stdio.h> #include <stdlib.h> #define N 1000 int fun(int n,int m,int bb[N]) { i ...

  8. SAP 后台任务定时job

    定时任务的事务码 sm36:创建定时任务 sm37:查看定时任务 JDBG:后台任务debug,在对应的sm37中对应的job页面 t-code输入 创建定时任务SM36 名称可以随便起 一般都是按自 ...

  9. C++中链表报错member access within null pointer of type 'ListNode'

    报错原因:指针有指向空节点的可能,所以报错,C++中链表的使用比较严格 解决方法:在给指针确定指向节点之前,先判断此节点是否为空节点

  10. k8s之 pod调度

    案例:确保Pod分配到具有SSD硬盘的节点上 第一步:给节点添加标签 格式:kubectl label nodes <node-name> <label-key>=<la ...