Hive——基本DML语句

DML:Data Manipulation Language(数据操作语言,与关系型数据库相似)

官方手册:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML

一、加载数据到hive表中

1、从文件系统加载数据入库

  1. LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1,
  2. partcol2=val2 ...)]
  3.  
  4. LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1,
  5. partcol2=val2 ...)] [INPUTFORMAT 'inputformat' SERDE 'serde'] (3.0 or later)

说明:

  1. [local]:如果加上表示本地地址,如果没有表示HDFS上的地址。
  2. [overwrite]:如果加上表示覆盖之前的数据,如果没有表示追加之前的数据。
  3. [partition_sepc]:如果加上表示加载进相应的分区。

2、从其他表中装载

  1. INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]]
  2. select_statement1 FROM from_statement;
  3. INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1
  4. FROM from_statement;

(其中插入的字段要和查询的字段要保持一致)

二、导出hive 表中数据到文件系统

  1. INSERT OVERWRITE [LOCAL] DIRECTORY directory1
  2. [ROW FORMAT row_format] [STORED AS file_format] (Note: Only available starting with Hive 0.11.0)
  3. SELECT ... FROM ...

注意: 输出到HDFS,有些CDH版本不支持;

输出到本地文件系统和HDFS,取决于LOCAL关键字

也可以用linux重定向导出

  1. hive -e "select * from emp limit 5" > file

(数据的导入导出常用sqoop)

三、基本sql

  1. hive>select * from emp;
  2. hive>select * from emp where ename='...';hive>select * from emp where deptno=10;
  3. hive>select * from emp where sal between 800 and 1500;
  4. hive>select * from emp where ename in ('SMITH','WARD');
  5. hive>select count(1),max(sal),min(sal),avg(sal) from emp;//聚合函数 – max、min、count、sum、avg
  6. hive>select deptno,avg(sal) from emp group by deptno;//分组函数 – group by
  7.  
  8. hive>select ename, sal,
  9. case
  10. when sal > 1 and sal <= 1000 then 'LOWER'
  11. when sal > 1000 and sal <= 2000 then 'MIDDLE'
  12. when sal > 2000 and sal <= 4000 then 'HIGH'
  13. ELSE 'HIGHEST' end
  14. from emp; //case when

四、export/import https://cwiki.apache.org/confluence/display/Hive/LanguageManual+ImportExport

  1. EXPORT TABLE tablename [PARTITION (part_column="value"[, ...])]
  2. TO 'export_target_path' [ FOR replication('eventid') ]
  3.  
  4. IMPORT [[EXTERNAL] TABLE new_or_original_tablename [PARTITION (part_column="value"[, ...])]]
  5. FROM 'source_path'
  6. [LOCATION 'import_target_path']
  7. Replication usage

Hive——基本DML语句的更多相关文章

  1. 入门大数据---Hive常用DML操作

    Hive 常用DML操作 一.加载文件数据到表 1.1 语法 LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename ...

  2. jdbc java数据库连接 3)Statement接口之执行DDL和DML语句的简化

    上一章的代码中,可以发现,jdbc执行DDL和DML有几个步骤都是一样的: 1)执行语句开始时,创建驱动注册对象.获取连接的数据库对象.创建Statement对象 // 创建驱动注册对象 Class. ...

  3. 详解MySQL---DDL语句、DML语句与DCL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

  4. 数据库 使用DML语句更改数据

    使用DML语句更改数据 添加新数据: 插入单行语句: Insert into 表名(列名)values(‘值’); 插入多行:insert into 表名(列名,…..) Values(‘值’,’值’ ...

  5. mariadb DML语句及用户授权

    DML(Data Manipulation Language):INSERT, DELETE, UPDATE, SELECT INSERT  [INTO]  tbl_name  [(col1,...) ...

  6. 使用DML语句【weber出品必属精品】

    DML语句包含以下语法: INSERT:往一个表中增加新行 DELETE:从一个表中删除掉现有的行 UPDATE:更改一个表中现有的行 INSERT语句语法:INSERT INTO TABLE(COL ...

  7. c# 数据库编程(通过SqlCommand 执行DML语句)

    原来一直是java,python等语言,最近用c#语言,并编写数据库访问代码.使用了之后,这里总结下,分享下c#如何操作数据库. 在java等其它语言中,有一套标准的api来完成数据库访问,并且一般都 ...

  8. SQL基础-----DML语句

    之前已经介绍过SQL基础之DDL(数据库定义语言)语句,http://www.cnblogs.com/cxq0017/p/6433938.html(这是地址) 这篇文章主要介绍DML语句(数据库操纵语 ...

  9. oracle DML语句

    DML语句 1.  插入数据 创建一个新表 create table new_cust as select * from customers --使用insert语句添加行 /* 确定要插入的行所在的 ...

随机推荐

  1. CVPR2020:扩展架构以实现高效的视频识别(X3D)

    CVPR2020:扩展架构以实现高效的视频识别(X3D) X3D: Expanding Architectures for Efficient Video Recognition 论文地址: http ...

  2. CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL)

    CVPR2020:基于自适应采样的非局部神经网络鲁棒点云处理(PointASNL) PointASNL: Robust Point Clouds Processing Using Nonlocal N ...

  3. Jmeter(五十二) - 从入门到精通高级篇 - jmeter之跨线程组传递参数(详解教程)

    1.简介 之前分享的所有文章都是只有一个线程组,而且参数的传递也只在一个线程组中,那么如果需要在两个线程组中传递参数,我们怎么做呢?宏哥今天就给小伙伴或者童鞋们讲解一下,如何实现在线程组之间传递参数. ...

  4. 最短路径问题,BFS,408方向,思路与实现分析

    最短路径问题,BFS,408方向,思路与实现分析 继上回挖下的坑,不知道大家有没有认真看最小生成树呢?很简单,这回也讲讲正常难度的,看不懂就来这里看看,讲的很好~~ 最短路径问题 说起这个问题,先说个 ...

  5. 【Azure 环境】由为存储账号(Storage Account)拒绝分配权限而引出的Azure 蓝图(Blueprint)使用问题

    问题描述 当打开Azure存储账号(Storage Account)门户页面时,从 "访问控制(标识和访问管理)" 页面中发现有"拒绝分配"的功能,所以就思考, ...

  6. TensorFlow入门实操课程第一章练习笔记

    在本练习中,您将尝试构建一个神经网络,让它根据一个简单的公式来预测房屋的价格. 想象一下,如果房子的定价很简单,带一间卧室的房子价格是5万+5万,那么一间卧室的房子要花10万元:两间卧室的房子就要花1 ...

  7. 性能工具之Jmeter压测Thrift RPC服务

    概述 Thrift是一个可互操作和可伸缩服务的框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, ...

  8. Unity 按空格一直触发Button点击事件的问题

    #解决 这是由于Button中Navigation(导航)功能导致的. 将导航设置为None即可. 真是气死我了,我说为什么点击完按钮界面,按空格就一直触发界面,难搞

  9. CentOS中按tab键不能自动补全问题解决办法

    CentOS中按tab键不能自动补全问题解决办法 一:检查一下系统有没有安装bash-completion包. 二:yum查找一下 三:yum安装bash-completion包 前言 在CentOS ...

  10. lms微服务的rpc通信框架

    RPC的概念 RPC 全称 Remote Procedure Call--远程过程调用.是为了解决远程调用服务的一种技术,使得调用者像调用本地服务一样方便透明.简单的说,RPC就是从一台机器(客户端) ...