Hive
贾诩是也
走过很多弯路,一直坚强、执着的眺望着远方、、、一个听着小米布斯故事成长起来的老码农。不忘初心,方得始终、、、给自己鼓劲加油,为这个时代华丽的时代喝彩!
展开
-
Hive 结构[笔记2]
Hive 的结构如图所示,主要分为以下几个部分:用户接口,包括 CLI,Client,WUI。 元数据存储,通常是存储在关系数据库如 mysql, derby 中。解释器、编译器、优化器、执行器。 Hadoop:用 HDFS 进行存储,利用 MapReduce 进行计算。用户接口主要有三个:CLI,Client 和 WUI。其中最常用的是 CLI,Cli 启动的原创 2017-08-18 17:47:52 · 362 阅读 · 0 评论 -
Hive UDF开发初步
编写Apache Hive用户自定义函数(UDF)有两个不同的接口,一个非常简单,另一个...就相对复杂点。如果你的函数读和返回都是基础数据类型(Hadoop&Hive 基本writable类型,如Text,IntWritable,LongWriable,DoubleWritable等等),那么简单的API(org.apache.hadoop.hive.ql.exec.UDF)可以胜任翻译 2017-08-29 08:00:09 · 443 阅读 · 0 评论 -
HiveQL语法一览
HiveQL是一种类似SQL的语言, 它与大部分的SQL语法兼容, 但是并不完全支持SQL标准, 如HiveQL不支持更新操作, 也不支持索引和事务, 它的子查询和join操作也很局限, 这是因其底层依赖于Hadoop云平台这一特性决定的, 但其有些特点是SQL所无法企及的。例如多表查询、支持create table as select和集成MapReduce脚本等, 本节主要介绍Hive的数据类原创 2017-08-29 07:52:38 · 962 阅读 · 0 评论 -
Hadoop Hive sql操作
Hive 是基于Hadoop 构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在hadoop 分布式文件系统中的数据,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行,通过自己的SQL 去查询分析需要的内容,这套SQL 简称hive SQL,使不熟悉mapreduce 的用户很方便的利用SQL 语言转载 2017-08-15 23:21:28 · 453 阅读 · 0 评论 -
Hive优化总结(1)
1.当hive执行join内存溢出时,可以修改hive的配置文件hive-site.xml,增大内存,如下: mapred.child.java.opts -Xmx 1024m2.Hive默认建表时的路径也可以在hive-site.xml里配置,如下: hive.metastore.warehouse.dir value >/user/hive/warehouse descri原创 2017-08-27 18:05:01 · 256 阅读 · 0 评论 -
Hive初探[笔记1]
1. Hive是什么1)hive是什么?这里引用 Hive wiki 上的介绍:Hive is a data warehouse infrastructure built on top ofHadoop. It provides tools to enable easy data ETL, a mechanism to put structures on th原创 2017-08-15 23:18:56 · 470 阅读 · 0 评论 -
Hive vs RDBMS[笔记3]
由于 Hive 采用了 SQL 的查询语言 HQL,因此很容易将 Hive理解为数据库。其实从结构上来看,Hive 和数据库除了拥有类似的查询语言,再无类似之处。本文将从多个方面来阐述 Hive 和数据库的差异。数据库可以用在 Online的应用中,但是Hive 是为数据仓库而设计的,清楚这一点,有助于从应用角度理解Hive 的特性。Hive 和数据库的比较 查询语言 HQL SQ原创 2017-08-15 23:46:57 · 370 阅读 · 0 评论 -
Hive QL[笔记4]
Hive 的官方文档中对查询语言有了很详细的描述,请参考:http://wiki.apache.org/hadoop/Hive/LanguageManual ,本文的内容大部分翻译自该页面,期间加入了一些在使用过程中需要注意到的事项。Create TableCREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name dat原创 2017-08-15 23:40:34 · 198 阅读 · 0 评论 -
写好Hive 程序的五个小结[笔记7]
使用Hive可以高效而又快速地编写复杂的MapReduce查询逻辑。但是某些情况下,因为不熟悉数据特性,或没有遵循Hive的优化约定,Hive计算任务会变得非常低效,甚至无法得到结果。一个”好”的Hive程序仍然需要对Hive运行机制有深入的了解。有一些大家比较熟悉的优化约定包括:Join中需要将大表写在靠右的位置;尽量使用UDF而不是transfrom……诸如此类。下面讨论5个性能和逻辑相关原创 2017-08-15 23:37:56 · 382 阅读 · 0 评论 -
Hive 优化[笔记5]
Hive 针对不同的查询进行了优化,优化可以通过配置进行控制,本文将介绍部分优化的策略以及优化控制选项。列裁剪(Column Pruning)在读数据的时候,只读取查询中需要用到的列,而忽略其他列。例如,对于查询:SELECT a,b FROM T WHERE e < 10;其中,T 包含 5 个列 (a,b,c,d,e),列 c,d 将会被忽略,只会读取a, b, e 列原创 2017-08-15 23:34:24 · 249 阅读 · 0 评论 -
Hive 的扩展特性[笔记6]
Hive 是一个很开放的系统,很多内容都支持用户定制,包括:文件格式:Text File,Sequence File内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text用户提供的 map/reduce 脚本:不管什么语言,利用 stdin/stdout 传输数据用户自定义函数: Substr, Trim, 1 – 1原创 2017-08-15 23:32:48 · 461 阅读 · 0 评论 -
Hive、HBase、Impala的简单对比
1. 什么是实时分析(在线查询)系统?大数据领域里面,实时分析(在线查询)系统是最常见的一种场景,通常用于客户投诉处理,实时数据分析,在线查询等等过。因为是查询应用,通常有以下特点:a. 时延低(秒级别)。b. 查询条件复杂(多个维度,维度不固定),有简单(带有ID)。c. 查询范围大(通常查询表记录在几十亿级别)。d. 返回结果数小(几十条甚至几千条)。e. 并发数要求高转载 2017-08-15 23:24:55 · 22266 阅读 · 4 评论 -
深入浅出数据仓库中SQL性能优化之Hive篇
转自:http://www.csdn.net/article/2015-01-13/2823530Hive查询生成多个map reduce job,一个map reduce job又有map,reduce,spill,shuffle,sort等多个阶段,所以针对hive查询的优化可以大致分为针对MR中单个步骤的优化,针对MR全局的优化以及针对整个查询的优化。一个Hive查询生成转载 2017-08-15 23:13:38 · 489 阅读 · 0 评论 -
Hive metastore三种配置方式
Hive的meta数据支持以下三种存储方式,其中两种属于本地存储,一种为远端存储。远端存储比较适合生产环境。hive官方wiki详细介绍了这三种方式,链接为:Hive Metastore。 一、本地derby这种方式是最简单的存储方式,只需要在hive-site.xml做如下配置便可 java转载 2017-08-15 23:07:15 · 2601 阅读 · 0 评论 -
Hive日常使用(1)
在Hive中,某些小技巧可以让我们的Job执行得更快,有时一点小小的改动就可以让性能得到大幅提升,这一点其实跟SQL差不多。首先,Hive != SQL,虽然二者的语法很像,但是Hive最终会被转化成MapReduce的代码去执行,所以数据库的优化原则基本上都不适用于 Hive。也正因如此,Hive实际上是用来做计算的,而不像数据库是用作存储的,当然数据库也有很多计算功能,但一般并不建议在SQ原创 2017-11-23 11:40:07 · 582 阅读 · 0 评论