HIVE---DML操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/yangguosb/article/details/83893975

数据加载

方式一:从文件加载数据

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

指定LOCAL:

  1. 指HiveServer2实例上的本地路径;
  2. 执行数据拷贝copy动作;

不指定LOCAL:

  1. 最终使用完整的URI路径,scheme没指定时使用hadoop默认配置fs.default.name; 相对路径转为绝对路径,基础路径为/user/;
  2. 执行数据移动move动作;

方式二:从SELECT语句加载数据

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;

区别: INSERT OVERWRITE 进行数据覆盖;INSERT INTO 进行数据追加;

方式三:显式插入数据

INSERT INTO TABLE tablename [PARTITION (partcol1[=val1], partcol2[=val2] ...)] VALUES values_row [, values_row ...]

注意: 不支持复杂数据类型(array, map, struct, union)

数据更新

UPDATE tablename SET column = value [, column = value ...] [WHERE expression]

注意:列值可以是算术表达式、UDF等等,但是不支持子查询;

The value assigned must be an expression that Hive supports in the select clause. Thus arithmetic operators, UDFs, casts, literals, etc. are supported. Subqueries are not supported.

数据删除

DELETE FROM tablename [WHERE expression]

参考:

  1. 官网:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Delete;

猜你喜欢

转载自blog.csdn.net/yangguosb/article/details/83893975