Hive 特点:
- 它存储架构在一个数据库中并处理数据到HDFS。
- 它是专为OLAP设计。
- 它提供SQL类型语言查询叫HiveQL或HQL。
- 它是熟知,快速,可扩展和可扩展的。
Hive是什么?
Hive是一个数据仓库基础工具在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。
最初,Hive是由Facebook开发,后来由Apache软件基金会开发,并作为进一步将它作为名义下Apache Hive为一个开源项目。它用在好多不同的公司。
Hive的增删改查:
修改语法:
ALTER TABLE name RENAME TO new_name
查询重名的表:
ALTER TABLE employee RENAME TO emp;
添加语句(增加了一个列名dept在employee表):
ALTER TABLE employee ADD COLUMNS (dept STRING COMMENT 'Department name');
REPLACE语句(从employee表中查询删除的所有列,并使用emp替换列):
ALTER TABLE employee REPLACE COLUMNS ( eid INT empid Int, ename STRING name String);
删除语法:
DROP TABLE [IF EXISTS] table_name;
Hive 创建视图语法:
CREATE VIEW [IF NOT EXISTS] view_name [(column_name [COMMENT column_comment], ...) ] [COMMENT table_comment] AS SELECT ...
删除视图:
DROP VIEW view_name
索引的创建:
CREATE INDEX index_name ON TABLE base_table_name (col_name, ...) AS 'index.handler.class.name' [WITH DEFERRED REBUILD] [IDXPROPERTIES (property_name=property_value, ...)] [IN TABLE index_table_name] [PARTITIONED BY (col_name, ...)] [ [ ROW FORMAT ...] STORED AS ... | STORED BY ... ] [LOCATION hdfs_path] [TBLPROPERTIES (...)]
SELECT语法:
SELECT [ALL | DISTINCT] select_expr, select_expr, ... FROM table_reference [WHERE where_condition] [GROUP BY col_list] [HAVING having_condition] [CLUSTER BY col_list | [DISTRIBUTE BY col_list] [SORT BY col_list]] [LIMIT number];