Hive知识

HIVEQL

CREATE DATABASE financials(创建数据库)

SHOW DATABASES(显示数据库)

SHOW TABLES IN 数据库(列出数据库的所有表)

SHOW DATABASES LIKE ‘h.*‘;(显示类似h以后任意多个字符)

LOCATION ‘/MY/preferred/directory‘;(指定数据库存放的路径)

COMMENT ‘**‘;(添加一个说明表)

DESCRIBE DATABASE financials(显示finacials数据库的一些信息))

DESCRIBE EXTENDEN table(列出表table的详细属性))

WITH DBPROPERTIES(‘*’,‘*’,)(添加注释说明的信息)

USE financials(切换到某个数据库下)

DROP DATABASE financials;(删除数据库)

ALTER DATABASE financials (修改数据库)

外部表

CREATE EXTERNAL TABLE stocks(创建外部表)

ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,‘

LOCATION ‘/data/stocks‘;

分区表:

CREATE TABLE employees()

PARTITIONED BY(country STRING,state STRING);

一种有效减少io量的手段

//显示分区为us的所有字分区

SHOW PARTITIONS employees PARTITION(country=‘US‘)

load data语句

LOAD DATA LOCAL INPATH ‘${env:HOME}/california-employees‘

OVERWRITE INTO TABLE employees

PARTITION (country=‘us‘,state=‘CA‘);

Insert overwrite语句//把一个没有分区的表变成分区的表方式

INSERT OVERWRITE TABLE employees

PARTITION (country=‘us’,state=‘or’)

SELECT * FROM STAGED_employees se

WHERE se.cnty=‘us‘ AND se.st=‘or‘;

Dynamic Partition inserts动态分区表

INSERT OVERWRITE TABLE employees

PARTITION (country,state)

SELECT ...., se.cty, se.st

FROM staged_employees se

WHERE se.cnty=‘us‘;

Create table ...as select...

CREATE TABLE CA_employees

AS SELECT name,salary,address

FROM emplyees

WHERE se.state=‘CA‘ ;

导出数据:

INSERT OVERWRITE LOCAL DIRECTORY‘/tmp/data‘

SELECT name,salary,address

FROM employees

WHERE se.state=‘CA‘

查询语句select

连接操作:

Hiveql支持大部分常见的关系代数连接方式(各种内连接,外连接,半连接)

连接是缓慢的操作

使用map-side joins来优化连接

25000000=25m;

排序:

时间: 2024-10-07 12:04:32

Hive知识的相关文章

Hive探秘--内部表、外部表、分区表、桶表研究

Hive知识 一.建表语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...) [SORTE

《Programming Hive》读书笔记(二)Hive基础知识

阅读方法:第一遍读是浏览,建立知识索引,因为有些知识不一定能用到,知道就好.感兴趣的部分可以多研究. 以后用的时候再详细看,并结合其他资料一起. Chapter 3.Data Types and File Formats 原始数据类型和集合数据类型 Select出来的数据,列与列之间的分隔符可以指定 Chapter 4.HiveQL:Data Definition 创建数据库,创建和改动表,分区的操作 Chapter 5.HiveQL:Data Manipulation 1 加载数据和导出数据,

Hive(一):架构及知识体系

Hive是一个基于Hadoop的数据仓库,最初由Facebook提供,使用HQL作为查询接口.HDFS作为存储底层.mapReduce作为执行层,设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海量数据,2008年facebook把Hive项目贡献给Apache.Hive提供了比较完整的SQL功能(本质是将SQL转换为MapReduce),自身最大的缺点就是执行速度慢.Hive有自身的元数据结构描述,可以使用MySql\ProstgreSql\oracle 等关系型数据库来进行存储

《Programming Hive》读书笔记(两)Hive基础知识

:第一遍读是浏览.建立知识索引,由于有些知识不一定能用到,知道就好.感兴趣的部分能够多研究. 以后用的时候再具体看.并结合其它资料一起. Chapter 3.Data Types and File Formats 原始数据类型和集合数据类型 Select出来的数据,列与列之间的分隔符能够指定 Chapter 4.HiveQL:Data Definition 创建数据库,创建和修改表,分区的操作 Chapter 5.HiveQL:Data Manipulation 1 载入数据和导出数据,应该从本

Hive基础知识

一.Hive简介什么是Hive为什么使用Hive面临的问题:为什么要使用Hive:二.Hive结构三.Hive支持的格式四.表的操作创建表删除表清空表修改表修改字段名与字段类型增加列修改列的顺序删除列替换表修改字段顺序其他操作查看表信息查看建表信息查看格式信息改变表文件格式查看函数五.数据操作1.插入数据从文件读取数据从其他结果集插入2.分区和分桶创建分区表查看分区插入分区数据添加分区重命名分区删除分区分区使用分桶六.复合类型ArrayMap七.创建视图和索引以及数据缓存视图创建视图删除视图索引

Hive入门知识

Hive 是建立在 Hadoop 上的数据仓库基础构架,它提供了一系列的工具,可以用来进行数据提取转化加载(ETL),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据的机制.由于 Hive 是针对数据仓库应用设计的,而数据仓库的内容是读多写少的.因此,Hive 中不支持对数据的改写和添加. Hive的相关写法(与SQL Server的差别) 第一次使用Hadoop遇到的问题 1. ISNULL(field,'')    --> COALESCE(field,'') 2. CAST

Hive(一)基础知识

一.Hive的基本概念 (安装的是Apache hive 1.2.1) 1.hive简介 Hive 是基于 Hadoop 的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表, 并提供类 SQL 查询功能, hive 底层是将 SQL 语句转换为 MapReduce 任务运行(类似于插件Pig\impala\Spark Sql)                 结构化:有行有列,格式整齐标准 非结构化:格式不统一,不标准,有长有短               半结构化:参差不齐,有规律,

hive 基础知识

hadoop hive 1)2007年hive出世, 2)2014hive0.13.0是非常的流行(先对来说比较稳定) 3)2015hive1.2.0(相对来说只不过是升级) 4)2016hive2.1.0(更新了很多的功能) 1.1hive元数据管理 1)通过hive对元数据进行建模加工,变成表的形式,建立数据仓库管理 2)建立一套类似于关系型数据库的形式,并不是存储在hive上,而是存储在关系型的数据库,而在hive现实中的元数据并不是存储在hadoop上 3)mysql是提供hive的存储

hive基础知识二

1. Hive的分区表 1.1 hive的分区表的概念 在文件系统上建立文件夹,把表的数据放在不同文件夹下面,加快查询速度. 1.2 hive分区表的构建 创建一个分区字段的分区表 hive> create table student_partition1( id int, name string, age int) partitioned by (dt string) row format delimited fields terminated by '\t'; 创建二级分区表 hive>