美文网首页
Hive学习笔记

Hive学习笔记

作者: ghostdogss | 来源:发表于2019-03-07 11:25 被阅读0次

1.建表语法:

    CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name 

      [(col_name data_type [COMMENT col_comment], ...)] 

      [COMMENT table_comment] 

      [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] 

      [CLUSTERED BY (col_name, col_name, ...) 

      [SORTED BY (col_name [ASC|DESC], ...)] INTO num_buckets BUCKETS] 

      [ROW FORMAT row_format] 

      [STORED AS file_format] 

      [LOCATION hdfs_path]

•CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXIST 选项来忽略这个异常

•EXTERNAL 关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION)

•LIKE 允许用户复制现有的表结构,但是不复制数据

    CREATE TABLE empty_key_value_store

    LIKE key_value_store;

•COMMENT可以为表与字段增加描述

•ROW FORMAT

    DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]

        [MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char]

   | SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]

         用户在建表的时候可以自定义 SerDe 或者使用自带的 SerDe。如果没有指定 ROW FORMAT 或者 ROW FORMAT DELIMITED,将会使用自带的 SerDe。在建表的时候,用户还需要为表指定列,用户在指定表的列的同时也会指定自定义的 SerDe,Hive 通过 SerDe 确定表的具体的列的数据。

例子:

create table student (Snoint,Sname string,Sex string,Sageint,Sdept string)

row format delimited fields terminated by','//声明分隔符

stored as textfile;//声明储存方式

2. 查询学生信息,按性别分区,在分区内按年龄有序

1)select * from student order by sex, sage;

2)set mapred.reduce.tasks=2;

select * from student distribute by sex sort by sage;

distribute by是按照指定的字段对数据进行划分到不同的reduce中

第一的语句,我们只是按照性别和年龄排序

第二个,我们设置了2个reduce,并且按照性别分区。sort by sage;

理解sort by和order by的区别。order by是全局排序。而sort by是每个分区内部排序。

3. 查询学生的姓名、课程名称和分数

select student.sname, course.cname, sc.grade 

from student join sc on student.sno= sc.sno

join course on sc.cno=course.cno

join后面跟要连接的表,on后面跟连接的条件。

on和where是不同的

  -on指的连接条件

-where是表链接后,再进一步按照where指定条件筛选

相关文章

  • 无标题文章

    Hive 学习笔记 学习笔记 Hive 简介 Hive 是建立在 Hadoop 上的数据仓库基础构架,可以用来进行...

  • Hive 1.2.1 分区和分捅

    1. 借鉴 Hive学习笔记——Hive中的分桶Hive分区和分桶(0925)HIVE表索引,分区和分桶的区别 2...

  • Hive学习笔记

    hive简介 解释一:Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,...

  • Hive学习笔记

    本文是对Hive组件的学习的一个初步总结,包括如下章节的内容: Hive是什么 Hive安装 快速上手 Hive元...

  • Hive学习笔记

    Hive的作用 使用Hive QL (语法类似于SQL)做一些MapReducer能做的事情,但是他并不完全支持S...

  • Hive 学习笔记

    【文件存储格式】在建表语句中通过" STORED AS FILE_FORMAT" 指定。 TEXTFILE:默认格...

  • Hive学习笔记

    Hive的数据类型 array_type 数组类型 map_type map键值对类型 struct_ty...

  • Hive学习笔记

    1.建表语法: CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_na...

  • hive学习笔记

    1.1 什么是Hive Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射成为一张数据库表,...

  • Hive编程指南笔记整理

    hive编程指南阅读笔记 1.基础操作 1.1.启动hive HIVE_HOME$ bin/hive 1.2.1....

网友评论

      本文标题:Hive学习笔记

      本文链接:https://www.haomeiwen.com/subject/gryqpqtx.html