这篇文章主要介绍了Hive基础知识的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 Hive的元数据一般存储在关系型数据库中,如MySql; 底层存储用到的是HDFS分布式存储系统。它的优点:1.?简单易上手:提供了类SQL查询语言HQL;2.可扩展:为超大数据集设计了计算/扩展能力(MR作为计算引擎,HDFS作为存储系统);3.提供统一的元数据管理;4.Hive支持用户自定义函数,用户可以根据自己的需求来实现自己的函数:继承hive的UDF类,重写evaluate方法;5.容错:良好的容错性,节点出现问题SQL仍可完成执行; 缺点:1.Hive的HQL表达能力有限;2.效率比较低,自动生成的Mapreduce作业,通常情况下不够智能化,且调优比较困难; Hive用户接口 1)HiveCLI(HiveCommandLine,Hive命令行),客户端可以直接在命令行模式下进行操作 2)HWI(HiveWebInterface,HiveWeb接口),Hive提供了更直观的Web界面 3)hiveserver,Hive提供了Thrift服务,Thrift客户端目前支持C++/Java/PHP/Python/Ruby Hive常用文件格式: Textfile:默认格式,数据不做压缩,磁盘开销大,数据解析开销大; SEQUENCEFILE:SequenceFile是HadoopAPI提供的一种二进制文件支持,其具有使用方便、可分割、可压缩的特点; rcfile:RCFILE是一种行列存储相结合的存储方式。首先,其将数据按行分块,保证同一个record在一个块上,避免读一个记录需要读取多个block。其次,块数据列式存储,有利于数据压缩和快速的列存取; parquet:ApacheParquet是Hadoop生态圈中一种新型列式存储格式,它可以兼容Hadoop生态圈中大多数计算框架; Hive数据导入导出 Hive表中的数据,同时支持从本地数据导入、从其他表导入数据、导出数据到本地文件系统、导出数据到HDFS中 Hive基本语句 Hive建表语句基本跟关系型数据库建表语句相同,区别在于语句尾端指定了列分隔符: ROWFORMATDELIMITEDFIELDSTERMINATEDBY‘,’ 指定了列分隔符为“,”; 对于分区表,会有分区字段的说明: PARTITIONEDBY(countrySTRING,stateSTRING) 用“country“、”state”两个字段分区; 以及指定存储文件的格式: STOREDASTEXTFILE。 关于内连接、外连接和半连接: 几种连接区别简单概括为:内连接只显示了俩张表都存在的数据,而外连接则是显示出所有的数据,其中左连接是左外边的表输出完整数据。右外连接是右边的表输出完整数据,全外连接就是两张表的所有行全部输出。做半连接用来补充Hive相对于MySQL等语句缺失的in/exists这样的子句,就用leftjoin代替,和leftjoin的区别在于右边的表数据不会加载进结果; orde 香港云主机rby和sortby: ORDERBY会对查询结果集执行一个全局排序,所有的数据都通过一个reducer进行处理;SORTBY,其只会在每个reducer中对数据进行排序,也就是执行一个局部排序过程,生产中可以和DISTRIBUTEBY一起用,实现分区并排序。感谢你能够认真阅读完这篇文章,希望小编分享的“Hive基础知识的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持开发云,关注开发云行业资讯频道,更多相关知识等着你来学习!
本篇内容主要讲解“Spring Ioc中Bean加载的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Spring Ioc中Bean加载的方法”吧!在之前的文章中,我们分析了Spring的Ioc的初始化过程,实际…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。