创建表:

hive> CREATE TABLE pokes (foo INT, bar STRING); 

        Creates a table called pokes with two columns, the first being an integer and the other a string

创建一个新表,结构与其他一样

hive> create table new_table like records;

创建分区表:

hive> create table logs(ts bigint,line string) partitioned by (dt String,country String);

加载分区表数据:

hive> load data local inpath '/home/hadoop/input/hive/partitions/file1' into table logs partition (dt='2001-01-01',country='GB');

展示表中有多少分区:

hive> show partitions logs;

展示所有表:

hive> SHOW TABLES;

        lists all the tables

hive> SHOW TABLES '.*s';

lists all the table that end with 's'. The pattern matching follows Java regular

expressions. Check out this link for documentationhttp://java.sun.com/javase/6/docs/api/java/util/regex/Pattern.html

显示表的结构信息

hive> DESCRIBE invites;

        shows the list of columns

更新表的名称:

hive> ALTER TABLE source RENAME TO target;

添加新一列

hive> ALTER TABLE invites ADD COLUMNS (new_col2 INT COMMENT 'a comment');

 

删除表:

hive> DROP TABLE records;

删除表中数据,但要保持表的结构定义

hive> dfs -rmr /user/hive/warehouse/records;

从本地文件加载数据:

hive> LOAD DATA LOCAL INPATH '/home/hadoop/input/ncdc/micro-tab/sample.txt' OVERWRITE INTO TABLE records;

显示所有函数:

hive> show functions;

查看函数用法:

hive> describe function substr;

查看数组、map、结构

hive> select col1[0],col2['b'],col3.c from complex;

内连接:

hive> SELECT sales.*, things.* FROM sales JOIN things ON (sales.id = things.id);

查看hive为某个查询使用多少个MapReduce作业

hive> Explain SELECT sales.*, things.* FROM sales JOIN things ON (sales.id = things.id);

外连接:

hive> SELECT sales.*, things.* FROM sales LEFT OUTER JOIN things ON (sales.id = things.id);

hive> SELECT sales.*, things.* FROM sales RIGHT OUTER JOIN things ON (sales.id = things.id);

hive> SELECT sales.*, things.* FROM sales FULL OUTER JOIN things ON (sales.id = things.id);

in查询:Hive不支持,但可以使用LEFT SEMI JOIN

hive> SELECT * FROM things LEFT SEMI JOIN sales ON (sales.id = things.id);

Map连接:Hive可以把较小的表放入每个Mapper的内存来执行连接操作

hive> SELECT /*+ MAPJOIN(things) */ sales.*, things.* FROM sales JOIN things ON (sales.id = things.id);

INSERT OVERWRITE TABLE ..SELECT:新表预先存在

hive> FROM records2

    > INSERT OVERWRITE TABLE stations_by_year SELECT year, COUNT(DISTINCT station) GROUP BY year 

    > INSERT OVERWRITE TABLE records_by_year SELECT year, COUNT(1) GROUP BY year

    > INSERT OVERWRITE TABLE good_records_by_year SELECT year, COUNT(1) WHERE temperature != 9999 AND (quality = 0 OR quality = 1 OR quality = 4 OR quality = 5 OR quality = 9) GROUP BY year;

CREATE TABLE ... AS SELECT:新表表预先不存在

hive>CREATE TABLE target AS SELECT col1,col2 FROM source;

创建视图:

hive> CREATE VIEW valid_records AS SELECT * FROM records2 WHERE temperature !=9999;

查看视图详细信息:

hive> DESCRIBE EXTENDED valid_records;

最新文章

  1. 分享我基于NPOI+ExcelReport实现的导入与导出EXCEL类库:ExcelUtility (续2篇-模板导出综合示例)
  2. fix org.openqa.selenium.NoSuchWindowException when find element on ie11.
  3. JNI_Android项目中调用.so动态库实现详解【转】
  4. asp.net跨页面传值
  5. JavaScript要点 (二) 使用误区
  6. Tick and Tick------HDOJ杭州电(无法解释,直接看代码)
  7. Java凝视Override、Deprecated、SuppressWarnings详细解释
  8. 【MyBatis源码分析】insert方法、update方法、delete方法处理流程(下篇)
  9. [译]PEP 342--增强型生成器:协程
  10. Linux之网络编程:时间服务器
  11. nginx-2-nginx的反向代理
  12. CentOS中无法使用setup命令 -bash:setup: command not found
  13. Abp项目构建、swagger及代码生成器
  14. SpringBoot 中常用注解@Controller/@RestController/@RequestMapping介绍
  15. 在ant编译java文件时产生debug信息
  16. 迭代器iter()
  17. [转]Asp.Net 网站多语言解决方案
  18. Selenium Webdriver定位元素的几种方式
  19. CF398B Painting The Wall 概率期望
  20. day5 常用模块json和pickle

热门文章

  1. uva 216 Getting in Line 最短路,全排列暴力做法
  2. 【递归】数字三角形 简单dp
  3. 剑指Offer07 斐波那契数列
  4. codeforces 680C C. Bear and Prime 100(数论)
  5. 在ios7系统下,scrollView下移20像素
  6. 洛谷P1717 钓鱼
  7. 【AngularJs】---JSONP跨域访问数据传输
  8. C#中如何查找Dictionary中的重复值
  9. .net 调用webservice 总结
  10. python基础day2作业:购物车