`
wbj0110
  • 浏览: 1603018 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

hive支持sql大全

    博客分类:
  • Hive
阅读更多

#建表

create table sign_in (uri string , koudaiToken string) row format delimited fields terminated by ‘|’;

#如果不存在表则创建

create table if not exists mytable (id bigint,name string);

#创建外部表

hive> create external table lss_sign_in (uri string,token string) row format delimited fields terminated by ‘\t’ ;

 

#从HDFS加载数据到表

hive> load data inpath ‘hdfs:/user/root/input/sign_in/sign.uri’ overwrite into table lss_sign_in;

#本地文件加载到hive 仓库:

hive> LOAD DATA LOCAL INPATH ‘/luanshoushen/test.txt’ OVERWRITE INTO TABLE lss;

#从HDFD加载到HIVE 仓库(注意这里记载完成后会删除掉HDFS上的文件)

hive> LOAD DATA INPATH ‘hdfs:/user/root/input/test.txt’ OVERWRITE INTO TABLE kevin;

Loading data to table default.kevin

Deleted hdfs://idc01-vm-test-124:9019/user/hive/warehouse/kevin

虽然源文件表面上看是在HDFS删除了,其实文件被移到hive HDFS数据仓库中去了。

默认数据库仓库的文件保存在: /user/hive/warehouse/

其中kevin对应的HIVE中得元数据表名称。

test.txt就是源文件,从本地加载文件和HDFS加载文件类似。

./hadoop fs -text /user/hive/warehouse/kevin/test.txt

#查看表结构

describe tableName;

id int

name string

age int

也可以使用:desctableName;

#显示所有函数

show functions;

#查看函数使用方法

hive> describe function substr;

substr(str, pos[, len]) – returns the substring of str that starts at pos and is of length len

#根据URI分组,count(uri) 可以统计URI的PV

hive> select uri,count(uri) from sign_in group by uri;

#统计UV

hive> select uri, count(distinct koudaitoken) from sign_in group by uri;

#也同样支持 limit

#修改表结构

hive> alter table sign_in_uri replace columns(uri string);

#把Select结果插入到表中

insert overwrite table sign_in_uri select uri from sign_in group by uri;

#链接查询

#左链接

select sign_in.*,sign_in_uri.* from sign_in_uri left outer join sign_in on(sign_in_uri.uri = sign_in.uri);

#右链接

select sign_in.*,sign_in_uri.* from sign_in_uri right outer join sign_in on(sign_in_uri.uri = sign_in.uri) ;

#全链接

hive> select sign_in.*,sign_in_uri.* from sign_in_uri full outer join sign_in on(sign_in_uri.uri = sign_in.uri) limit 100;

#in 查询(hive不支持IN)使用semi join 达到相似效果

hive> select sign_in_uri.* from sign_in_uri left semi join sign_in on(sign_in_uri.uri = sign_in.uri) limit 10;

使用正则

hive> select regexp_extract(koudaitoken,’\\[.*\\]‘,0) from sign_in limit 10;

#查看函数使用方法

hive> describe function regexp_extract

regexp_extract(str, regexp[, idx]) – extracts a group that matches regexp

#注意写入HDFS或本地目录时会删除掉目录下的内容。

#将Hive数据导出到本地目录

hive> insert overwrite local directory ‘/luanshoushen/hive’ select * from sign_in_uri;

#将Hive数据导出到HDFS

hive> insert overwrite directory ‘user/root/input/hive’ select * from sign_in;

#使用一个查询将结果写入HDFS目录和本地目录

hive> from sign_in

> insert overwrite local directory ‘/luanshoushen/hive’ select *

> insert overwrite directory ‘/user/root/input/’ select *

> ;

http://mojijs.com/2014/04/134869/index.html

 
 
分享到:
评论

相关推荐

    HIVE-SQL开发规范.docx

    - 支持SQL查询,转换为MapReduce任务执行。 - 提供元数据管理,包括表和列的定义。 - 支持分区和桶,提高查询性能。 - 可扩展性,支持多种数据源和存储格式。 2. Hive SQL 语法规则 在编写Hive SQL时,应遵循以下...

    Hive中SQL详解

    Hive SQL支持绝大多数的语句,如DDL、DML、聚合函数、连接查询、条件查询等。 Hive不适合用于联机online事务处理,也不提供实时查询功能,但最适合应用在基于大量不可变数据的批处理作业。 Hive的特点 * 可伸缩:...

    SQL、Hive SQL等SQL血缘解析工具

    // 具有子查询的sql String hql = "select id,name from (select id from table_1 where id={p0}) t1 inner join (select name --this is name\n from table_2) t2"; // 获取id字段的血缘 LineageNode idNode = ...

    HIVE-SQL操作语句

    通过以上介绍,我们可以看到 Hive 支持多种 SQL 操作,包括创建表、修改表结构、加载数据、查询和插入数据等。这些功能使得 Hive 成为了大数据处理领域中的一个重要工具。掌握这些基本操作有助于更高效地管理和分析...

    HiveSQL实战题目.docx

    1. SQL 支持:HiveSQL 支持标准 SQL 语句,包括 SELECT、INSERT、UPDATE 和 DELETE 等语句。 2. 数据类型丰富:HiveSQL 支持多种数据类型,包括整数、浮点数、字符串、日期时间等。 3. 数据仓库管理:HiveSQL 提供了...

    HIVE-SQL开发规范.zip

    - Hive支持基于列的分区索引,合理创建能显著提升查询速度。 - 使用`CLUSTERED BY`和`SORT BY`对数据进行排序,有助于优化JOIN操作。 - 考虑使用`Bucketing`以改善JOIN效率,但需谨慎,因为这会增加存储成本。 6...

    部分普通sql查询在hive中的实现方式

    - **背景**:Hive不支持标准SQL中的`IN`和`EXISTS`关键字,但可以通过`LEFT SEMI JOIN`来模拟这些功能。 - **示例**:标准SQL中的`IN`关键字查询如下: ```sql SELECT a.key, a.value FROM a WHERE a.key IN ...

    hive sql详解 经典

    Hive支持用户自定义函数,包括UDF(单行函数)、UDAF(聚合函数)和UDTF(多行函数),扩展了Hive的功能,满足特定的业务需求。 9. **Hive与Hadoop的关系**: Hive依赖于Hadoop的MapReduce或Tez等计算框架来处理...

    深入浅出Hive企业级架构优化、Hive Sql优化、压缩和分布式缓存

    Apache Hive 是一个基于 Hadoop 的数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的 SQL 查询功能,使不熟悉 MapReduce 的开发人员也能用 SQL 语言进行数据查询。Hive 在内部将 SQL 语句转换...

    最强HiveSQL开发指南.pdf

    1. **DML(Data Manipulation Language)**:包括INSERT、UPDATE和DELETE操作,但在Hive中,由于其设计目标,UPDATE和DELETE操作通常不被支持,主要依赖INSERT来加载和更新数据。 2. **DDL(Data Definition ...

    hive sql解析

    hivesql解析 支持版本<!--<hive.version>1.0.0</hive.version> <hadoop.version>2.4.1</hadoop.version> --> <hive.version>2.0.1</hive.version> <hadoop.version>2.7.2</hadoop.version>

    hive数仓、hive SQL 、 hive自定义函数 、hive参数深入浅出

    - 基本操作:如创建表、加载数据、删除表等,支持SQL标准的SELECT、INSERT、UPDATE(只支持INSERT OVERWRITE)和DELETE语句。 - 高级查询:支持JOIN、子查询、窗口函数、聚合函数、集合操作(UNION、INTERSECT、...

    连接hive-使用sqldeveloper作为客户端.zip

    SQL Developer是Oracle公司推出的一款免费的数据库管理工具,它支持多种数据库系统,包括Oracle、MySQL等,当然也包括通过ODBC或JDBC接口连接的Hive。下面我们将详细介绍如何设置和使用SQL Developer连接到Hive...

    Hive sql系统学习教程

    5. **操作支持**: Hive支持多表插入、CREATE TABLE AS SELECT等SQL不支持的功能,但不支持SQL中的UPDATE、DELETE等修改表内容的操作。 6. **性能优化**: Hive查询通过MapReduce执行,可能比SQL慢,但能处理大数据量...

    Hive-SQLforHadoop

    2. **数据仓库功能**:Hive支持常见的数据仓库操作,如分区、索引等,有助于提高查询效率。 3. **可扩展性**:Hive支持自定义函数,允许用户根据需求编写特定的处理逻辑。 4. **集成性**:Hive可以轻松地与其他...

    Hive sql优化

    - `hive.input.format`:设置为CombineHiveInputFormat,以便支持合并文件。 2. **拆分Map文件,增加Map数量** - 对于较大的文件或复杂的任务,可以通过拆分文件来增加Map数量,从而提高处理速度。例如,通过`...

    Hive函数大全.pdf

    类似于SQL的LIKE操作,但支持正则表达式。 13. REGEXP 操作:`REGEXP` 使用正则表达式进行匹配,例如`column REGEXP 'pattern'`。 二、数学函数 Hive提供了许多数学函数,如`ABS()`(绝对值)、`SQRT()`(平方根...

    hive搭建及使用入门简介(内含PPT、各种表创建sql及hive搭建使用笔记)

    Hive支持内部表和外部表。内部表由Hive完全管理,数据存储在HDFS上,删除内部表时,数据也会被一同删除。而外部表只是对HDFS上数据的引用,删除外部表不会影响原始数据,这对于数据共享和管理非常有用。 在“分区表...

Global site tag (gtag.js) - Google Analytics