一、基础介绍
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件(存储在hdfs中)映射为一张数据库表,并提供类SQL查询功能,通过使用hive的sql脚本来操作数据(hql),本质是将SQL转换为MapReduce程序 。
它包括解释器(把脚本解释成java代码),编译器(编译java代码,其实就是mapreduce代码,提交到hadoop),优化器等。
hive运行时,一定要有元数据(存储真实数据到逻辑表的映射),它存储在关系型数据库里,hive自带的derby数据库不稳定,我们用mysql。
hive的特点:
1、操作接口采用类SQL语法,提供快速开发的能力
2、避免了去写MapReduce,减少开发人员的学习成本
3、扩展功能很方便 ,容错性好
4、虽然执行延迟高,但处理数据规模大
hql脚本有三种方式执行:
1、hive -e 执行一个sql脚本(一行),如:
它包括解释器(把脚本解释成java代码),编译器(编译java代码,其实就是mapreduce代码,提交到hadoop),优化器等。
hive运行时,一定要有元数据(存储真实数据到逻辑表的映射),它存储在关系型数据库里,hive自带的derby数据库不稳定,我们用mysql。
hive的特点:
1、操作接口采用类SQL语法,提供快速开发的能力
2、避免了去写MapReduce,减少开发人员的学习成本
3、扩展功能很方便 ,容错性好
4、虽然执行延迟高,但处理数据规模大
hql脚本有三种方式执行:
1、hive -e 执行一个sql脚本(一行),如:
hive -e 'select a.col from tab1 a'
2、hive -f 执行一个sql文件,如:
hive -f /home/my/hive-script.sql<