Hive SQL 语法详解:http://blog.csdn.net/hguisu/article/details/7256833
Hive SQL 学习笔记(常用):http://blog.sina.com.cn/s/blog_66474b16010182yu.html
Hive中的分区:http://blog.csdn.net/jiedushi/article/details/6660185

Hive基础知识:http://www.csdn.net/article/2014-01-07/2818052-about-hive

HiveJavaAPI:http://787141854-qq-com.iteye.com/blog/2068303
hive的group by速度慢,因为需要用到hadoop的map-reduce。这个可以在spark中实现

启动:hive --service hiveserver2

常用:

建表:CREATE TABLE pokes (foo INT, bar STRING);

建分区表:分区有data和pos, ip的描述:'IP Address of the User',用COMMENT来定义
字段之间用'\t'分割,行之间是断行
如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCE

CREATE TABLE par_table(viewTime INT, userid BIGINT,
     page_url STRING, referrer_url STRING,
     ip STRING COMMENT 'IP Address of the User')
 COMMENT 'This is the page view table'
PARTITIONED BY(date STRING, pos STRING)
   ROW FORMAT DELIMITED
   FIELDS TERMINATED BY '\t'
   lines terminated by '\n'
STORED AS SEQUENCEFILE;
 
对分区的操作
(1). 如何定义分区,创建分区   
创建分区表:
hive> create table test(name string,sex int) partitioned by (birth string, age string);
添加3个分区:
hive> alter table test  add partition (birth='1980', age ='30');
hive> alter table test  add partition (birth='1981', age ='29');

hive> alter table test  add partition (birth='1982', age ='28');

hive> show partitions test;

birth=1980/age =30

birth=1981/age =29

birth=1982/age =28

(2)如何删除分区
hive> alter table test drop partition (birth='1980',age='30');

(3)加载数据到指定分区
load data local inpath '/home/hadoop/data.log' overwrite into table test partition(birth='1980-01-01',age='30');

创建分区原则: 最少粒度原则

(4)向partition_test的分区中插入数据:
hive> insert overwrite table partition_test
partition(stat_date='20110728',province='henan') select member_id,name
from partition_test_input where stat_date='20110728' and
province='henan';

 
(5)选择某一个分区的所有数据
select * from test where (birth = '1982')

Hive笔记--sql语法详解及JavaAPI的更多相关文章

  1. Hadoop Hive sql语法详解

    Hadoop Hive sql语法详解 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件 ...

  2. mysql用户授权、数据库权限管理、sql语法详解

    mysql用户授权.数据库权限管理.sql语法详解 —— NiceCui 某个数据库所有的权限 ALL 后面+ PRIVILEGES SQL 某个数据库 特定的权限SQL mysql 授权语法 SQL ...

  3. 009-Hadoop Hive sql语法详解4-DQL 操作:数据查询SQL-select、join、union、udtf

    一.基本的Select 操作 语法SELECT [ALL | DISTINCT] select_expr, select_expr, ...FROM table_reference[WHERE whe ...

  4. 【hive】——Hive sql语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  5. hive sql 语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQL查 ...

  6. [转]Hadoop Hive sql语法详解

    转自 : http://blog.csdn.net/hguisu/article/details/7256833 Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式 ...

  7. Hadoop Hive sql 语法详解

    Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询 ...

  8. Hive sql语法详解

      Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表,并提供完整的SQ ...

  9. 010-Hadoop Hive sql语法详解5-HiveQL与SQL区别

    1.Hive不支持等值连接 •SQL中对两表内联可以写成:•select * from dual a,dual b where a.key = b.key;•Hive中应为•select * from ...

随机推荐

  1. Binary Search Tree Iterator——LeetCode

    Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the ro ...

  2. vs 2013调试的时候重启的解决方案

    今天在用vs 2013 调试程序的时候,vs 总是莫名其妙的关闭,停止运行,泪蹦了..... 是什么原因呢? 以前的时候可是好好的啊,经过认真的思索,最近装过和vs 2013 相关的程序也只有 ref ...

  3. oracle锁表解决方法

    SQL> select session_id from v$locked_object; SESSION_ID----------142 SQL> SELECT sid, serial#, ...

  4. jquery width(), innerWidth(), outerWidth() 区别

    #div1 { width: 100px; height: 100px; border: 5px black solid; padding: 10px; margin: 10px; backgroun ...

  5. swift - if let Optional 语法

    var optionalString: String? = "facial"; var greeting = "hi"; if let name = optio ...

  6. js:jquery multiSelect 多选下拉框实例

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. Linux查看端口信息命令

    netstat -tlnp|grep 端口 eg: netstat -tlnp|grep 9889

  8. Java基础知识强化21:Java中length、length()、size()区别

    1.java中的length属性是针对数组说的,比如说你声明了一个数组,想知道这个数组的长度则用到了length这个属性.2.java中的length()方法是针对字符串String说的,如果想看这个 ...

  9. WIN7 64位上 MYSQL的ODBC一些个人理解

    最近电脑中毒了,无奈之下把32位的xp换成了64位的win7,无聊耗时的搭完开发环境,装了vs6.0(忽略掉一切的不兼容),装完64位的mysql(“mysql-5.6.10-winx64.zip”) ...

  10. grunt -- javascript自动化工具

    grunt 是一个基于npm,node.js 用js编写的工具框架,可以自动完成一些重复性的任务(如合并文件,语法检查,压缩代码), grunt拥有庞大的插件库,可以满足各种自动化批处理需求,常用的插 ...