hive语法和常用函数

上传人:suns****4568 文档编号:88889938 上传时间:2019-05-12 格式:DOC 页数:72 大小:1.48MB
返回 下载 相关 举报
hive语法和常用函数_第1页
第1页 / 共72页
hive语法和常用函数_第2页
第2页 / 共72页
hive语法和常用函数_第3页
第3页 / 共72页
hive语法和常用函数_第4页
第4页 / 共72页
hive语法和常用函数_第5页
第5页 / 共72页
点击查看更多>>
资源描述

《hive语法和常用函数》由会员分享,可在线阅读,更多相关《hive语法和常用函数(72页珍藏版)》请在金锄头文库上搜索。

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

2、Hive是一个数据仓库,它提供了数据仓库的部分功能:数据ETL(抽取、转换、加载)工具,数据存储管理,大数据集的查询和分析能力。 由于Hive是Hadoop上的数据仓库,因此Hive也具有高延迟、批处理的的特性,即使处理很小的数据也会有比较高的延迟。故此,Hive的性能就和居于传统数据库的数据仓库的性能不能比较了。 Hive不提供数据排序和查询的cache功能,不提供索引功能,不提供在线事物,也不提供实时的查询功能,更不提供实时的记录更性的功能,但是,Hive能很好地处理在不变的超大数据集上的批量的分析处理功能。Hive是基于hadoop平台的,故有很好的扩展性(可以自适应机器和数据量的动态变

3、化),高延展性(自定义函数),良好的容错性,低约束的数据输入格式。 下面我们来看一下Hive的架构和执行流程以及编译流程: 用户提交的Hive QL语句最终被编译为MapReduce程序作为Job提交给Hadoop执行。Hive的数据类型 Hive的基本数据类型有:TINYINT,SAMLLINT,INT,BIGINT,BOOLEAN,FLOAT,DOUBLE,STRING,TIMESTAMP(V0.8.0+)和BINARY(V0.8.0+)。 Hive的集合类型有:STRUCT,MAP和ARRAY。 Hive主要有四种数据模型(即表):(内部)表、外部表、分区表和桶表。 表的元数据保存传统的

4、数据库的表中,当前hive只支持Derby和MySQL数据库。内部表: Hive中的表和传统数据库中的表在概念上是类似的,Hive的每个表都有自己的存储目录,除了外部表外,所有的表数据都存放在配置在hive-site.xml文件的$hive.metastore.warehouse.dir/table_name目录下。Java代码1. CREATETABLEIFNOTEXISTSstudents(user_noINT,nameSTRING,sexSTRING,2. gradeSTRINGCOMMOT班级)COMMONT学生表3. ROWFORMATDELIMITED4. FIELDSTERMIN

5、ATEDBY,5. STOREASTEXTFILE;外部表: 外部表指向已经存在在Hadoop HDFS上的数据,除了在删除外部表时只删除元数据而不会删除表数据外,其他和内部表很像。Java代码1. CREATEEXTERNALTABLEIFNOTEXISTSstudents(user_noINT,nameSTRING,sexSTRING,2. classSTRINGCOMMOT班级)COMMONT学生表3. ROWFORMATDELIMITED4. FIELDSTERMINATEDBY,5. STOREASSEQUENCEFILE6. LOCATION/usr/test/data/stude

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

7、REATETABLEIFNOTEXISTSstudents(user_noINT,nameSTRING,sexSTRING,2. classSTRINGCOMMOT班级)COMMONT学生表3. PARTITIONEDBY(dsSTRING,countrySTRING)4. ROWFORMATDELIMITED5. FIELDSTERMINATEDBY,6. STOREASSEQUENCEFILE; 分区中定义的变量名不能和表中的列相同。桶区表: 桶表就是对指定列进行哈希(hash)计算,然后会根据hash值进行切分数据,将具有不同hash值的数据写到每个桶对应的文件中。Java代码1. CR

8、EATETABLEIFNOTEXISTSstudents(user_noINT,nameSTRING,sexSTRING,2. classSTRINGCOMMOT班级,scoreSMALLINTCOMMOT总分)COMMONT学生表3. PARTITIONEDBY(dsSTRING,countrySTRING)4. CLUSTEREDBY(user_no)SORTEDBY(score)INTO32BUCKETS5. ROWFORMATDELIMITED6. FIELDSTERMINATEDBY,7. STOREASSEQUENCEFILE; 内部表和外部表的主要区别: 1)、内部表创建要2步:

9、表创建和数据加载,这两个过程可以同步执行。在数据加载的过程中,数据数据会移动到数据仓库的目录中;外部表的创建只需要一个步骤,表创建数据加载同时完成,表数据不会移动。 2)、删除内部表时,会将表数据和表的元数据一同删除;而删除外部表时,紧删除表的元数据而不会删除表数据。在上一节深入学习Programing Hive:Hive的数据模型(表)中,已经学习过表的定义,接下来接着学习Hive的DDL操作。复制表结构:Java代码1. CREATETABLEIFNOTEXISTSstudents2LIKEstudents;查看表结构:Java代码1. DESCRIBETABLEstudents;删除表:

10、Java代码1. DROPTABLEstudents;创建视图: Hive中的视图(view)的概念和传统数据库中的表是相同的,是只读的,目前还不支持不支持物化视图。 如果在创建试图后,再将基本表中被视图引用的列修改,那么修改后的数据列将不会体现在视图中;如果基本表被删除或以不兼容的方式被修改,则查询该视图时会失败。Java代码1. CREATEVIEWIFNOTEXISTSview_students(user_no,name,score)2. AS3. SELECTuser_no,name,scoreFROMstudents;删除视图:Java代码1. DROPVIEWview_studen

11、ts;定制表存储方式:Java代码1. CREATETABLEIFNOTEXISTSemployees(2. noSTRING,3. nameSTRING,4. salaryFLOAT,5. subordinatesARRAY,6. deductionsMAP,7. addressSTRUCT8. )9. ROWFORMATDELIMITED10. FIELDSTERMINATEDBY00111. COLLECTINITEMSTERMINATEDBY00212. MAPKEYSTERMINATED00313. LINESTERMINATEDBYn14. STOREDAS15. INPUTFOR

12、MATorg.linkedin.haivvreo.AvroContainerInputFormat16. OUTPUTFORMATorg.linkedin.haivvreo.AvroContainerOutputFormat;修改表结构: 1)、重命名表Java代码1. ALTERTABLEtable_nameRENAMETOnew_table_name; 只修改了表名,不会改变表结构和数据存放的位置。 2)、修改列名、类型、位置及注释Java代码1. CREATETABLEIFNOTEXISTStest(aINT,bSTRING,cFLOAT);/创建测试表2. /修改列名3.4. TABLEtestCHANGEaa2INT;5. /*将a列的名字改为a2,并将其数据类型改为STRING,然后将之放在b列之后;修改6. *后的表结构为:bINT,a2STRING,cFLOAT7. */8. ALTERTABLEtestCHANGEaa2STRINGAFTER

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号