Hive学习笔记
来源:互联网 发布:2016淘宝开店步骤 编辑:程序博客网 时间:2024/06/06 05:43
Hive编程指南(第一章1.1, 第3/4/5/6/9/11/13章)
表的创建
- 创建数据库
CREATE DATABASE IF NOT EXISTS a;
- 查看h开头的数据库
SHOW DATEBASES LIKE 'h.*';
- 创建数据库描述并且查看(DESCRIBE同时输出数据库路径)
CREATE DATABASE aCOMMENT 'JUST A TRY';DESCRIBE DATABASE a;
- 创建表格
CREAT TABLE IF NOT EXISTS mydb.employees( name STRING COMMENT 'Employee name', salary FLOAT COMMENT 'Employee salary', address STRUCT<street:STRING,city:STRING,state:STRING,zip:INT> COMMENT 'Home adress')COMMENT 'Description of the table';
- 拷贝表格(不包括数据)
CREATE TABLE IF NOT EXISTS a2LIKE a1;
分区的部分有点难,还没搞清楚,暂时放下。
删除表格
DROP TABLE IF EXISTS a;
- 表格重命名,修改列名,增加列
ALTER TABLE a RENAME TO a1;ALTER TABLE a CHANGE COLUME x1 x2 INT;ALTER TABLE a ADD COLNAMES ( app_name STRING COMMENT 'Application name')
表的查询
一些函数
- 特殊的数据的类型有数组,MAP,STRUCT
数组:[“mary”,”chirs”];数组的索引a[0]从0开始
MAP:{“mary”:0.2;”chirs”:0.1};MAP的索引用键值a[“mary”]
map_values可以提取MAP中的所有类型为值的元素
STRUCT:{“male”:”mary”;”female”:”chirs”};索引可以用a.male 使用正则表达式
‘price.*’表示以price为前缀所有聚合函数
- count(*),包含NULL值
- variance(),stddev(); 方差,标准差
- var_samp(),stddev_samp(); 样本方差,样本标准差
- covar_pop(a,b),covar_samp(a,b);协方差,样本协方差
corr(a,b);相关系数
表生成函数
explode(ARRAY a),返回多行结果,每行都对应输入a数组的一个元素,且要求使用列别名。
SELECT explode(a) AS demo2 FROM demo;
还有其它函数具体查见《Hive 权威指南》P88
查询
- 嵌套SELECT语句
FROM (SELECT upper(name),salary,dedections["Federal TAXES"] as fed_taxes, round(salary*(1-dedutions["Federal Taxes"])) as salary_minus_fed_taxes FROM employees) eSELECT e.name,e.salary_minus_fed_taxesWHERE e.salary_minus_fed_taxes > 70000;
- CASE…WHEN…THEN句式
SELECT name,salary, CASE WHEN salary < 50000.0 THEN 'low' WHEN salary >= 50000.0 AND salary < 70000.0 THEN 'middle' ELSE 'high' END AS bracket FROM employees;
- 不能在WHERE语句中使用列别名,可以使用嵌套的SELECT语句进行实现
- …WHERE address LIKE ‘o%’ 用于O开头的模糊查询;还有RLIKE
连接
- INNER JOIN 内连接,只有两个表都有才能保留下来
SELECT a.ymd,a.price,b.price_closeFROM stocks a JOIN stocks b ON a.ymd=b.ymdWHERE a.symbol = 'AAPL' AND b.symbol = 'IBM'; - LEFT SEMI JOIN只会返回左边表的记录,前提是满足右边表on语句的判定条件
阅读全文
0 0
- Hive学习笔记--Hive 优化
- Hive学习笔记--Hive JDBC
- HIVE学习笔记:初识HIVE
- HIVE的学习笔记
- Hive学习笔记汇总
- hive学习笔记1
- hive学习笔记
- HIVE学习笔记
- Hive学习笔记
- hive学习笔记
- hive学习笔记
- hive学习笔记
- Hive学习笔记
- hive学习笔记-转载
- hive-学习笔记
- Hive学习笔记(1)
- Hive & Performance 学习笔记
- hive学习笔记
- Linux
- ubuntu 无法解析主机的解决方法
- 易语言静态变量和全局变量的区别
- HDU 1420Prepared for New Acmer(快速幂裸题)
- java中序列化与反序列化
- Hive学习笔记
- ASP.Net Core WebApi几种版本控制对比
- rt-thread创建动态线程失败
- [k8s]docker entrypoint图解
- getBackground().setAlpha和setAlpha有什么区别
- PPT设计笔记
- 用户需求浅谈
- Hibernate之关联映射(上)
- HDU 1905Pseudoprime numbers(快速幂)