Hive SQL常用命令总结,大数据开发人员按需收藏
副问题[/!--empirenews.page--]
Hive是基于Hadoop生态的一个重要组件,是对数据客栈举办打点和说明数据的器材。她提供了SQL查询方法来说明存储在HDFS漫衍式文件体系中的数据,可以将布局化的数据文件映射为一张数据库表,并提供完备的SQL查询成果。 这种SQL就是Hive SQL,她可以将SQL语句转换为Map Reduce使命运行,通过非凡的SQL去查询说明必要的内容,使不认识map reduce的用户很利便的操作SQL 说话查询,汇总,说明数据。 一、基本呼吁 1、数据库操纵
2、表布局修改
3、字段范例
二、常用函数
三、相干观念 1、hive hive是基于hadoop的一个数据客栈器材,可以将布局化的数据文件映射为一张数据库库表,并提供类SQL查询成果。 2、根基构成 用户接口:CLI,shell呼吁行;JDBC/ODBC是hive的java实现;webGUI是通过赏识器会见hive;元数据存储:凡是是存储在相关数据库如mysql, derby中;hive的元数据包罗表的名字,表的列和分区及其属性,表的属性(是否为外部表),表的数据地址目次等。 表明器,编译器,优化器完成HQL查询语句从词法说明,语法说明,编译,优化以及查询打算的天生。天生的查询存储在HDFS中,并随后有mapreduce挪用执行。因此,hive与Hadoop的相关可以领略为用户发出SQL查询语句,hive将查询存储在HDFS中,然后由mapreduce挪用执行。 3、table Hive 中的 Table 和数据库中的 Table 在观念上是相同的,每一个 Table 在 Hive 中都有一个响应的目次存储数据。譬喻,一个表 pvs,它在 HDFS 中的路径为:/wh/pvs,个中,wh 是在 hive-site.xml 中由 ${hive.metastore.warehouse.dir} 指定的数据客栈的目次,全部的 Table 数据(不包罗 External Table)都生涯在这个目次中。 4、partition Partition 对应于数据库中的 Partition 列的麋集索引,可是 Hive 中 Partition 的组织方法和数据库中的很不沟通。在 Hive 中,表中的一个 Partition 对应于表下的一个目次,全部的 Partition 的数据都存储在对应的目次中。 5、buckets Buckets 对指定列计较 hash,按照 hash 值切分数据,目标是为了并行,每一个 Bucket 对应一个文件。将 user 列分手至 32 个 bucket,起首对 user 列的值计较 hash,对应 hash 值为 0 的 HDFS 目次为:/wh/pvs/ds=20090801/ctry=US/part-00000;hash 值为 20 的 HDFS 目次为:/wh/pvs/ds=20090801/ctry=US/part-00020 6、external table External Table 指向已经在 HDFS 中存在的数据,可以建设 Partition。它和 Table 在元数据的组织上是沟通的,而现实数据的存储则有较大的差别。 Table 的建设进程和数据加载进程(这两个进程可以在统一个语句中完成),在加载数据的进程中,现实数据会被移动到数据客栈目次中;之后对数据对会见将会直接在数据客栈目次中完成。删除表时,表中的数据和元数据将会被同时删除。 External Table 只有一个进程,加载数据和建设表同时完成(CREATE EXTERNAL TABLE ……LOCATION),现实数据是存储在 LOCATION 后头指定的 HDFS 路径中,并不会移动到数据客栈目次中。当删除一个 External Table 时,仅删除元数据,表中的数据不会真正被删除。 7、全量数据和增量数据 查察分区信息:假如分区的巨细随时刻增进而增进,则最新的分区为全量数据。假如分区的巨细随时刻增进而巨细上下变革,则每个分区都是增量数据。 四、HQL和SQL的异同 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |