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 ...
随机推荐
- PostgreSQL lag,lead获取记录前后的数据
场景:获取当前行的下一行某一字段数据,获取当前行的上一行某一字段数据 1.测试数据: postgres=# select * from tb1; id | name ----+------ 1 | a ...
- pyinstaller打包Python程序报错OSError: Python library not found: libpython3.8.so, libpython3.8m.so
重新编译python(不影响原来安装的库文件),加入--enable-shared ./configure --prefix=/usr/local/python3 --enable-shared然后m ...
- javaWeb学习一
web开发(web就是网页): 静态web html.css 提供给所有人看到数据不会改变 动态web 提供给所有人看到数据会改变,不同用户.不同时间和地点都会不同 技术栈:Servlet/JSP,A ...
- 多点DLT (Direct Linear Transformation) 算法
阅读前可以先参看上一篇代数视觉博客: 四点DLT (Dierct Linear Transformation) 算法 对于大于4个点的数据点来进行 DLT 算法变换, 如果数据点的标注都十分准确,那么 ...
- c++ class派生与多态
目录 类继承和类派生 继承时名字遮蔽 基类和派生类的构造函数 构造函数调用顺序 基类和派生类的析构函数 多重继承 虚继承和虚基类 将派生类赋值给基类(向上转型) 将派生类指针赋值给基类指针. 将派生类 ...
- 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?
BSD开源协议BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布. 但" ...
- M1芯片使用pod报错 *** for architecture arm64
1.添加如下配置 pod 和 工程都需要修改 2.Podfile最后添加如下代码 post_install do |installer| installer.pods_project.build_co ...
- 解决移动H5页面的刷组造成件传值数据丢失问题
问题描述 当前页面由2个组件组成分别命名成a,b,其中组件b(子)需要组件a(父)内接口响应的时间字段,因为组件b不能实时的接收到数据 因此组件b在接收数据的时用定时器加了一个延迟,但是在网络不好或者 ...
- spring boot No qualifying bean of type 'org.apache.catalina.core.ApplicationContext' available
发现创建的ApplictionContext对象还没有containsBean的方法, 找了很久没搞定,后面发现原来是包导入错了. 应该导入 import org.springframework.co ...
- mysql随机返回一条数据
select * from biz_question ORDER BY RAND(id) LIMIT 1; SELECT * FROM biz_question AS t1 JOIN (SELECT ...