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. PostgreSQL lag,lead获取记录前后的数据

    场景:获取当前行的下一行某一字段数据,获取当前行的上一行某一字段数据 1.测试数据: postgres=# select * from tb1; id | name ----+------ 1 | a ...

  2. pyinstaller打包Python程序报错OSError: Python library not found: libpython3.8.so, libpython3.8m.so

    重新编译python(不影响原来安装的库文件),加入--enable-shared ./configure --prefix=/usr/local/python3 --enable-shared然后m ...

  3. javaWeb学习一

    web开发(web就是网页): 静态web html.css 提供给所有人看到数据不会改变 动态web 提供给所有人看到数据会改变,不同用户.不同时间和地点都会不同 技术栈:Servlet/JSP,A ...

  4. 多点DLT (Direct Linear Transformation) 算法

    阅读前可以先参看上一篇代数视觉博客: 四点DLT (Dierct Linear Transformation) 算法 对于大于4个点的数据点来进行 DLT 算法变换, 如果数据点的标注都十分准确,那么 ...

  5. c++ class派生与多态

    目录 类继承和类派生 继承时名字遮蔽 基类和派生类的构造函数 构造函数调用顺序 基类和派生类的析构函数 多重继承 虚继承和虚基类 将派生类赋值给基类(向上转型) 将派生类指针赋值给基类指针. 将派生类 ...

  6. 图文并茂解释开源许可证 GPL、BSD、MIT、Mozilla、Apache和LGPL的区别?

    BSD开源协议BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以"为所欲为",可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布. 但" ...

  7. M1芯片使用pod报错 *** for architecture arm64

    1.添加如下配置 pod 和 工程都需要修改 2.Podfile最后添加如下代码 post_install do |installer| installer.pods_project.build_co ...

  8. 解决移动H5页面的刷组造成件传值数据丢失问题

    问题描述 当前页面由2个组件组成分别命名成a,b,其中组件b(子)需要组件a(父)内接口响应的时间字段,因为组件b不能实时的接收到数据 因此组件b在接收数据的时用定时器加了一个延迟,但是在网络不好或者 ...

  9. spring boot No qualifying bean of type 'org.apache.catalina.core.ApplicationContext' available

    发现创建的ApplictionContext对象还没有containsBean的方法, 找了很久没搞定,后面发现原来是包导入错了. 应该导入 import org.springframework.co ...

  10. mysql随机返回一条数据

    select * from biz_question ORDER BY RAND(id) LIMIT 1; SELECT * FROM biz_question AS t1 JOIN (SELECT ...