Hive——基本DML语句

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

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

一、加载数据到hive表中

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

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

说明:

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

2、从其他表中装载

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

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

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

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

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

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

也可以用linux重定向导出

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

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

三、基本sql

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

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

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

最新文章

  1. linux tree 命令
  2. 【JBOSS】 JBOSS目录结构
  3. [stat.simulation] Hasting-Metropolis Algorithm
  4. Showing progress bar in a status bar pane
  5. jQuery选择器简单例子
  6. ios_图片放大的两种方式transform和frame
  7. 根据出生日期计算年龄的sql各种数据库写法
  8. NOIP 2014 普及组 T4 子矩阵
  9. Android SQLite 的简单实例
  10. 【转】学习JAVA的步骤
  11. Android 圆角Button
  12. 【动态规划】HDU 5781 ATM Mechine
  13. JAVA中的Formatter
  14. Oracle 集群心跳及其參数misscount/disktimeout/reboottime
  15. C#格式化字符串中转义大括号“{}”
  16. BZOJ 1083: [SCOI2005]繁忙的都市【Kruscal最小生成树裸题】
  17. 关于Python课程的思考和意见
  18. css 文本超出2行就隐藏并且显示省略号
  19. 洛谷P2470 [SCOI2007]压缩(区间dp)
  20. CentOS7中Docker-ce的卸载和安装

热门文章

  1. C语言真正的编译过程
  2. mybatis学习——properties属性实现引用配置文件
  3. 如何让vscode C++ 终端不再显示调试启动信息
  4. UNREFERENCED_PARAMETER的用处
  5. 题解 P3233 [HNOI2014]世界树
  6. 树莓派FRP内网穿透及自启动
  7. Java程序安装失败
  8. vs中打开ashx文件没有提示,没有高亮标记解决方法
  9. CosId 1.0.0 发布,通用、灵活、高性能的分布式 ID 生成器
  10. 深度学习的优化器(各类 optimizer 的原理、优缺点及数学推导)