Hadoop Hive sql语法详解1-认识hive及DDL操作

转载 2015年07月08日 19:09:27

hive或许我们有一个整体的认识,可以转换为mapreduce,那么具体是如何做的那?
1.编写的mapreduce能否成为hive插件那?
2.hive如何创建?
3.hive是如何查询数据的?

1.认识hive: 
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构

化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需

要的内容,这套SQL 简称Hive SQL使不熟悉mapreduce 的用户很方便的利用SQL 语言查询,汇总,分析数据。而mapreduce开发人员可以把

己写的mapper 和reducer 作为插件来支持Hive 做更复杂的数据分析。

     它与关系型数据库的SQL 略有不同,但支持了绝大多数的语句如DDL、DML 以及常见的聚合函数、连接查询、条件查询。HIVE不适合用于联机

online)事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。

    HIVE的特点可伸缩(在Hadoop的集群上动态的添加设备),可扩展,容错,输入格式的松散耦合

2.  DDL 操作
创建简单表
hive> CREATE TABLE pokes (foo INT, bar STRING); 


复杂一下如下:
创建外部表:

CREATE EXTERNAL TABLE page_view(viewTime INT, userid BIGINT,
     page_url STRING, referrer_url STRING,
     ip STRING COMMENT 'IP Address of the User',
     country STRING COMMENT 'country of origination')
COMMENT 'This is the staging page view table'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\054'
STORED AS TEXTFILE
LOCATION '<hdfs_location>';

建分区表:

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 ‘\t’
   FIELDS TERMINATED BY '\n'
STORED AS SEQUENCEFILE;

建Bucket表

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)
CLUSTERED BY(userid) SORTED BY(viewTime) INTO 32 BUCKETS
ROW FORMAT DELIMITED ‘\t’
   FIELDS TERMINATED BY '\n'
STORED AS SEQUENCEFILE;




创建表并创建索引字段ds
hive> CREATE TABLE invites (foo INT, bar STRING) PARTITIONED BY (ds STRING); 

复制一个空表
CREATE TABLE empty_key_value_store
LIKE key_value_store;

例子
create table  user_info (user_id int, cid string, ckid string, username string) 
row format delimited 
fields terminated by '\t'
lines terminated by '\n';
导入数据表的数据格式是:字段之间是tab键分割,行之间是断行。

及要我们的文件内容格式:

100636  100890  c5c86f4cddc15eb7        yyyvybtvt
100612  100865  97cc70d411c18b6f        gyvcycy
100078  100087  ecd6026a15ffddf5        qa000100


显示所有表
hive> SHOW TABLES;
按正条件(正则表达式)显示表,
hive> SHOW TABLES '.*s';


Hadoop Hive sql语法详解1-认识hive及DDL操作

hive或许我们有一个整体的认识,可以转换为mapreduce,那么具体是如何做的那? 1.编写的mapreduce能否成为hive插件那? 2.hive如何创建? 3.hive是如何查询数据的...
  • JIAOSHOUJIE
  • JIAOSHOUJIE
  • 2014年07月12日 14:47
  • 476

Hadoop Hive sql语法详解1-认识hive及DDL操作(1)

hive或许我们有一个整体的认识,可以转换为mapreduce,那么具体是如何做的那? 1.编写的mapreduce能否成为hive插件那? 2.hive如何创建? 3.hive是如何查询数据的...
  • qq_26091271
  • qq_26091271
  • 2015年12月28日 21:14
  • 164

Hadoop Hive基础SQL语法(DDL 操作)

介绍: Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop 分布式文件系统中的数据,可以将结构 化的数据文件映射为一张数据库表...
  • it_dx
  • it_dx
  • 2016年09月23日 15:31
  • 235

Hive-HQL数据定义DDL

介绍前的几点说明: 1、Hive不支持行级别的操作,也不支持事务; 2、Hive中的数据库本质上仅仅是HDFS的一个目录,数据库中的表将会以这个数据库目录子目录的形式存储; 3、如果用户没有指定数据库...
  • young2simple
  • young2simple
  • 2015年11月08日 21:17
  • 932

Hadoop Hive sql语法详解

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

Ubuntu15.04单机/伪分布式安装配置Hadoop与Hive试验机

环境 系统: Ubuntu 15.04 32bit Hadoop版本: hadoop-2.5.2.tar.gz JDK版本: jdk-8u-45-linux-i586.tar.gz Hive版本:...
  • joseph_lee2012
  • joseph_lee2012
  • 2015年04月29日 16:05
  • 1334

Hive学习之Hive数据库DDL

Hive提供了与SQL相似的数据定义语言(DDL),对于熟悉SQL的人来说,学习Hive的DDL是非常容易得,即使从未接触过SQL的人,学习也不是一件很难的事情。虽然本人对SQL有一定的了解,但绝不敢...
  • sky_walker85
  • sky_walker85
  • 2014年06月04日 11:38
  • 2602

【hive实战】使用hive分析 hadoop 日志

实战2——Hadoop的日志分析 1). 日志格式分析 首先分析 Hadoop 的日志格式, 日志是一行一条, 日志格式可以依次描述为:日期、时间、级别、相关类和提示信息。如下所示:  ...
  • smile0198
  • smile0198
  • 2014年04月13日 21:45
  • 1116

已搭建好HADOOP,HIVE,怎么进入并操作数据

[hadoop@master ~]$ cd $HIVE_HOME                    --进入hive目录 [hadoop@master hive]$ bin/hive      ...
  • springqingchun
  • springqingchun
  • 2012年02月29日 10:07
  • 2764

如何在hive的shell中使用hadoop shell 和linux的命令

1 使用linux 命令 hive> !pwd;  #前面加上一个!后面加上; 2 使用hadoop shell hive>fs -ls /  #省去前面的hadoop 后面加上; 3 h...
  • lumenxu
  • lumenxu
  • 2016年03月17日 15:11
  • 1976
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Hadoop Hive sql语法详解1-认识hive及DDL操作
举报原因:
原因补充:

(最多只允许输入30个字)