HIVE - HIVEQL学习笔记
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学习笔记的更多相关文章
- HIVE优化学习笔记
概述 之前写过关于hive的已经有两篇随笔了,但是作者依然还是一枚小白,现在把那些杂七杂八的总结一下,供以后查阅和总结.今天的文章介绍一下hive的优化.hive是好多公司都在使用的东西,也有好多大公 ...
- hive kettle 学习笔记
学习网址 http://wiki.pentaho.com/display/BAD/Transforming+Data+within+Hive
- 60分钟内从零起步驾驭Hive实战学习笔记
本博文的主要内容是: 1. Hive本质解析 2. Hive安装实战 3. 使用Hive操作搜索引擎数据实战 SparkSQL前身是Shark,Shark强烈依赖于Hive.Spark原来没有做SQL ...
- 60分钟内从零起步驾驭Hive实战学习笔记(Ubuntu里安装mysql)
本博文的主要内容是: 1. Hive本质解析 2. Hive安装实战 3. 使用Hive操作搜索引擎数据实战 SparkSQL前身是Shark,Shark强烈依赖于Hive.Spark原来没有做SQL ...
- hive sql 学习笔记
1.coalesce 语法: COALESCE ( expression [ ,...n ] ) 参数: expression 任何类型的表达式. 返回类型: 返回数据类型优先级最高的 express ...
- hive学习笔记之六:HiveQL基础
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之一:基本数据类型
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之三:内部表和外部表
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之四:分区表
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- hive学习笔记之五:分桶
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
随机推荐
- linux配置爬虫环境
#宝塔面板安装python3 #安装依赖包 yum -y groupinstall "Development tools" yum -y install zlib-devel bz ...
- xlwings rest api
https://pbihub.cn/blog/964/created_at https://docs.xlwings.org/zh_CN/latest/rest_api.html xlwings &g ...
- 面向对象程序设计A第一次blog
一.前言 第一次题目集总结-- 题量:较多 难度:较低 知识点: 简单的输入输出 一些简单的运算和类型转换 一些简单的循环.选择.字符串.数组的使用 总结:题目比较简单,题量较多,内容就是一些简单的输 ...
- [Vs和Reshaper]Vs Studio配合Resharper插件,某些快捷键无法使用的情况,Alt+F7
一直使用Alt+F7来查找变量或者类型的使用位置 家里面的电脑某一天不可以用了,按了没有任何反应 后来查到竟然是被别的软件快捷键覆盖了 Alt+F7是被Nvidia GeForce覆盖了,关掉它或者修 ...
- 【Direct3D 12】什么是Direct3D 12
什么是DirectX? Microsoft DirectX是一套图形API,可以用来创建游戏和高性能的图形应用.DirectX支持2D和3D图形. 什么是Direct3D 12? Direct3D是D ...
- foreach 和for
"foreach和for循环如果只是遍历集合或者数组,用foreach好些,如果是对集合中的值进行修改,就要用for循环了,其实foreach的内部原理其实也是Iterator,但不能像It ...
- QML笔记——MouseArea的覆盖区域
问题摘要: 初学QML,今天发现一个奇怪的现象,调用MouseArea的位置不同,结果不同. 1.一个简单的qml示例 Rectangle { id: root width: 320 height: ...
- Unity 使整个UnityUI变成彩色的BUG
最近接手了一个两年前的老项目,在这个项目里碰到一个BUG ,每次运行到这个场景的时候,整个Unity 的所有UI包括Unity界面都会变成彩色. 后来发现是因为物体丢失,代码修改Image里的图片颜色 ...
- Linux系统Shell脚本第一章:Shell脚本基础及时间同步
目录 一.Shell脚本基础 1.Shell作用 2.什么是Shell脚本及处理逻辑 3.shell脚本基本格式 4. shell脚本执行方式 5.实操演示 二.Shell脚本中的变量 1.变量的作用 ...
- vue将地区以对象、数组的格式传给后端
项目涉及到了一个地区筛选,同时省市区三级不进行关联,后端要求以对象包数组的格式传参,完整代码 1.先拿到接口返回的地区数据 对数据进行处理,拿到想要的格式 this.provinceOption =r ...