Hive是什么

1)Hive 是建立在Hadoop (HDFS/MR)上的用于管理和查询结果化/非结构化的数据仓库;

2)一种可以存储、查询和分析存储在Hadoop 中的大规模数据的机制;

3)Hive 定义了简单的类SQL 查询语言,称为HQL,它允许熟悉SQL 的用户查询数据;

4)允许用Java开发自定义的函数UDF来处理内置无法完成的复杂的分析工作;

5)Hive没有专门的数据格式(分隔符等可以自己灵活的设定);

ETL的流程(Extraction-Transformate-Loading):将关系型数据库的数据抽取到HDFS上,hive作为数据仓库,经过hive的计算分析后,将结果再导入到关系型数据库的过程。

Hive是构建在Hadoop之上的数据仓库

1)使用HQL作为查询接口;

2)使用HDFS作为存储;

3)使用MapReduce作为计算;

 

Hive应用场景

数据源:

1)文件数据,如中国移动某设备每天产生大量固定格式的文件;

2)数据库

以上两种不同的数据源有个共同点:要使用hive,那么必须要将数据放到hive中;通常采用如下两种方式:

1)文件数据:load到hive

2)数据库: sqoop到hive

数据的离线处理;hive的执行延迟比较高,因为hive常用于数据分析的,对实时性要求不高;

hive优势在于处理大数据,对于处理小数据没有优势,因为hive的执行延迟比较高。

处理数据存放在hive表中,那么前台系统怎么去访问hive的数据呢?

先将hive的处理结果数据转移到关系型数据库中才可以,sqoop就是执行导入导出的操作