hive语法和常用函数.doc

hive语法和常用函数.doc

ID:52912068

大小:1.47 MB

页数:76页

时间:2020-03-31

hive语法和常用函数.doc_第1页
hive语法和常用函数.doc_第2页
hive语法和常用函数.doc_第3页
hive语法和常用函数.doc_第4页
hive语法和常用函数.doc_第5页
资源描述:

《hive语法和常用函数.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、实用文档Hive是一个基于Hadoop分布式系统上的数据仓库,最早是由Facebook公司开发的,Hive极大的推进了Hadoopecosystem在数据仓库方面上的发展。        Facebook的分析人员中很多工程师比较擅长而SQL而不善于开发MapReduce程序,为此开发出Hive,并对比较熟悉SQL的工程师提供了一套新的SQL-like方言——HiveQL。        HiveSQL方言特别和MySQL方言很像,并提供了HiveQL的编程接口。HiveQL语句最终被Hive解析器引擎解析为MarReduce程序,作为job提交给JobTracker

2、运行。这对MapReduce框架是一个很有力的支持。        Hive是一个数据仓库,它提供了数据仓库的部分功能:数据ETL(抽取、转换、加载)工具,数据存储管理,大数据集的查询和分析能力。        由于Hive是Hadoop上的数据仓库,因此Hive也具有高延迟、批处理的的特性,即使处理很小的数据也会有比较高的延迟。故此,Hive的性能就和居于传统数据库的数据仓库的性能不能比较了。        Hive不提供数据排序和查询的cache功能,不提供索引功能,不提供在线事物,也不提供实时的查询功能,更不提供实时的记录更性的功能,但是,Hive能很好地处理在

3、不变的超大数据集上的批量的分析处理功能。Hive是基于hadoop平台的,故有很好的扩展性(可以自适应机器和数据量的动态变化),高延展性(自定义函数),良好的容错性,低约束的数据输入格式。        下面我们来看一下Hive的架构和执行流程以及编译流程: 实用文档实用文档       用户提交的HiveQL语句最终被编译为MapReduce程序作为Job提交给Hadoop执行。  Hive的数据类型        Hive的基本数据类型有:TINYINT,SAMLLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,TIMESTA

4、MP(V0.8.0+)和BINARY(V0.8.0+)。        Hive的集合类型有:STRUCT,MAP和ARRAY。                Hive主要有四种数据模型(即表):(内部)表、外部表、分区表和桶表。        表的元数据保存传统的数据库的表中,当前hive只支持Derby和MySQL数据库。         内部表:        Hive中的表和传统数据库中的表在概念上是类似的,Hive的每个表都有自己的存储目录,除了外部表外,所有的表数据都存放在配置在hive-site.xml文件的${hive.metastore.wareho

5、use.dir}/table_name目录下。        Java代码  1.CREATE TABLE IF NOT EXISTS students(user_no INT,name STRING,sex STRING,  2.         grade STRING COMMOT '班级')COMMONT '学生表'  3.ROW FORMAT DELIMITED  实用文档1.FIELDS TERMINATED BY ','  2.STORE AS TEXTFILE;                    外部表:        外部表指向已经存在在Hado

6、opHDFS上的数据,除了在删除外部表时只删除元数据而不会删除表数据外,其他和内部表很像。        Java代码  1.CREATE EXTERNAL TABLE IF NOT EXISTS students(user_no INT,name STRING,sex STRING,  2.         class STRING COMMOT '班级')COMMONT '学生表'  3.ROW FORMAT DELIMITED  4.FIELDS TERMINATED BY ','  5.STORE AS SEQUENCEFILE  6.LOCATION '/u

7、sr/test/data/students.txt';                      分区表:        分区表的每一个分区都对应数据库中相应分区列的一个索引,但是其组织方式和传统的关系型数据库不同。在Hive中,分区表的每一个分区都对应表下的一个目录,所有的分区的数据都存储在对应的目录中。        比如说,分区表partitinTable有包含nation(国家)、ds(日期)和city(城市)3个分区,其中nation=china,ds=20130506,city=Shanghai则对应HDFS上的目录为:         

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。