欢迎投稿

今日深度:

Hive,

Hive,


什么是HIVE

1.数据仓库解决方案建立在Hadoop之上

2.提供了sql查询语言命名蜂巢HQL查询语言,最小的学习曲线

3.HIVE早期开发工作从2007年开始在Facebook

4.HIVE使越来越多的人开始使用

5.HIVE是一个Apache Hadoop项目hive.apache.org

HIVE的优点

Hive元数据管理

  • 支持模式和数据分区  利用关系型数据库Relational Database
  • 默认 使用Derby,轻量级内嵌SQL数据库

简单BI Tool的演示Zeppelin -Hive

Data Type 原始数据类型

复杂数据类型

 HIVE META DATA STRUCTURE元数据总览

Hive Tables

外部表External Tables

数据保存在未知关键字指定的HDFS路径中,Hive无法完全管理数据 删除表(元数据)数据不会删除

内部表Internal Tables/Managed Table

数据保存在默认路径中 例如/user/hive/warehouse/employee 数据完全由hive管理 删除表(元数据)数据会完全删除

面试中对Hive表的三连问

什么是外部内部表?有什么区别/如何使用?

外部表External Tables 实际数据保存在location关键字指定的HDFS路径中 数据不由Hive完全管理 当删除外部表时数据不会丢失可以从HDFS中找到 内部表Internal Tables/Managed Table  数据保存在hive中 完全由hive来管理 当删除表时 数据直接丢失

Hive建外部表表的基础语句

语法:

create external table if not exists table_name(

...

)

comment'This is external table'

row format delimited

fields terminated by '|'

map keys terminated by ','

location '位置路径'

查找表命令练习

  • show tables;show tables '*sam*'; show tables '*sam|lily*'查看表种含有sam lily的
  • show table extended like table_name  查勘表的详细内容
  • desc [formatted | extended] table_name
  • show create table table_name;
  • show columns table_name;
  • show tblproperties tblname;

Hive 建表高阶语句 CTAS and WITH

CATS--create table as select

      create  table ctas_employee as select * from employee  (将employee表的所有内容复制到ctas_employee表中)

CTAS 不能创建一个 分区的,外部的,或者bucket(桶)表

CTAS  with 公共表达式

CREATE TABLE cte_employee AS

WITH

r1 AS (SELECT name FROM r2 WHERE name = 'Michael'),

r2 AS (SELECT name FROM employee WHERE sex_age.sex= 'Male'),

r3 AS (SELECT name FROM employee WHERE sex_age.sex= 'Female')

SELECT * FROM r1 UNION ALL SELECT * FROM r3;(展示r1,r3的结果整合重回复数据)

 

 

www.htsjk.Com true http://www.htsjk.com/hive/27518.html NewsArticle Hive, 什么是HIVE 1.数据仓库解决方案建立在Hadoop之上 2.提供了sql查询语言命名蜂巢HQL查询语言,最小的学习曲线 3.HIVE早期开发工作从2007年开始在Facebook 4.HIVE使越来越多的人开始使用 5....
相关文章
    暂无相关文章
评论暂时关闭