分布式SQL计算
以分布式的形式,执行SQL语句,进行数据统计分析。
- SQL是目前最为方便的编程工具
- MapReduce支持程序开发(Java、Python等) 但不支持SQL直接进行开发
- Hive是一款分布式SQL计算的工具(上手简单)底层执行MapReduce,可以完成分布式海量数据的SQL处理
Apache Hive是一款分布式SQL计算的工具
将SQL语句翻译成MapReduce程序运行
Hive元数据存储的三种模式:内嵌模式 ;本地模式; 远程模式(推荐)
Hive实操
创建数据库:CREATE DATABASE [IF NOT EXISTS] db_name [LOCATION position];
删除数据库:DROP DATABASE db_name [CASCADE];
数据库本质上就是在HDFS之上的文件夹。 默认数据库的存放路径是HDFS的:/user/hive/warehouse内
创建表的语法
数据类型
内部表和外部表
• 内部表(CREATE TABLE table_name ...) 未被external关键字修饰的即是内部表,内部表又称管理表或者托管表。 删除内部表:直接删除元数据和存储的业务数据
• 外部表(CREATE EXTERNAL TABLE table_name ...) 被external关键字修饰的即是外部表,外部表又称非管理表或者非托管表。 删除外部表:仅仅是删除元数据,存储的业务数据并不会被删除