Hive 6、Hive DML(Data Manipulation Language)

  DML主要是对Hive 表中的数据进行操作的(增 删 改),但是由于Hadoop的特性,所以单条的修改、删除,其性能会非常的低所以不支持进行级操作;

  主要说明一下最常用的批量插入数据较为常用的方法:

  1、从文件中加载数据

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

  例:

load data local inpath ‘/opt/data.txt‘ overwrite into table table1;
-- 如果文件存放在HDFS中,则不需要写Local 

  

  2、从其他表中插入数据

  

语法:Standard syntax:
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 extension (multiple inserts):
FROM from_statement
INSERT OVERWRITE TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...) [IF NOT EXISTS]] select_statement1
[INSERT OVERWRITE TABLE tablename2 [PARTITION ... [IF NOT EXISTS]] select_statement2]
[INSERT INTO TABLE tablename2 [PARTITION ...] select_statement2] ...;
FROM from_statement
INSERT INTO TABLE tablename1 [PARTITION (partcol1=val1, partcol2=val2 ...)] select_statement1
[INSERT INTO TABLE tablename2 [PARTITION ...] select_statement2]
[INSERT OVERWRITE TABLE tablename2 [PARTITION ... [IF NOT EXISTS]] select_statement2] ...;

Hive extension (dynamic partition inserts):
INSERT OVERWRITE TABLE tablename PARTITION (partcol1[=val1], partcol2[=val2] ...) select_statement FROM from_statement;
INSERT INTO TABLE tablename PARTITION (partcol1[=val1], partcol2[=val2] ...) select_statement FROM from_statement;

  例:

FROM page_view_stg pvs
INSERT OVERWRITE TABLE page_view PARTITION(dt=‘2008-06-08‘, country)
SELECT pvs.viewTime, pvs.userid, pvs.page_url, pvs.referrer_url, null, null, pvs.ip, pvs.cnt
时间: 2024-10-16 23:53:44

Hive 6、Hive DML(Data Manipulation Language)的相关文章

[Hive - LanguageManual] Hive Data Manipulation Language

LanguageManual DML Hive Data Manipulation Language Hive Data Manipulation Language Loading files into tables Syntax Synopsis Notes Inserting data into Hive Tables from queries Syntax Synopsis Notes Dynamic Partition Inserts Example Additional Documen

Hive 7、Hive 的内表、外表、分区(22)

Hive 7.Hive 的内表.外表.分区 1.Hive的内表 Hive 的内表,就是正常创建的表,在 http://www.cnblogs.com/raphael5200/p/5208437.html 中已经提到: 2.Hive的外表 创建Hive 的外表,需要使用关键字 External: CREATE EXTERNAL TABLE [IF NOT EXISTS] [db_name.]table_name [(col_name data_type [COMMENT col_comment],

Hive 5、Hive 的数据类型 和 DDL Data Definition Language) (1)

官方帮助文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL Hive的数据类型 -- 扩展数据类型data_type : primitive_type | array_type | map_type | struct_type | union_type -- (Note: Available in Hive 0.7.0 and later) array_type : ARRAY < data_type >

Hive 5、Hive 的数据类型 和 DDL Data Definition Language)

官方帮助文档:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DDL -- 扩展数据类型 data_type : primitive_type | array_type | map_type | struct_type | union_type -- (Note: Available in Hive 0.7.0 and later) array_type : ARRAY < data_type > map_type

Hive 7、Hive 的内表、外表、分区

1.Hive的内表 Hive 的内表,就是正常创建的表,在 http://www.cnblogs.com/raphael5200/p/5208437.html 中已经提到: 2.Hive的外表 创建Hive 的外表,需要使用关键字 External: CREATE EXTERNAL TABLE [IF NOT EXISTS] [db_name.]table_name [(col_name data_type [COMMENT col_comment], ...)] [COMMENT table_

Hive 12、Hive优化

要点:优化时,把hive sql当做map reduce程序来读,会有意想不到的惊喜. 理解hadoop的核心能力,是hive优化的根本. 长期观察hadoop处理数据的过程,有几个显著的特征: 1.不怕数据多,就怕数据倾斜. 2.对jobs数比较多的作业运行效率相对比较低,比如即使有几百行的表,如果多次关联多次汇总,产生十几个jobs,没半小时是跑不完的.map reduce作业初始化的时间是比较长的. 3.对sum,count来说,不存在数据倾斜问题. 4.对count(distinct )

Hive 2、Hive 的安装配置

一.前提条件 安装了Zookeeper.Hadoop HDFS HA  安装方法: http://www.cnblogs.com/raphael5200/p/5154325.html 二.安装Mysql 因为使用量多的是单用户数据库模式,并且数据库使用最多的是mysql 所以在这里选择mysql数据库: $ yum install mysql-server $ service mysqld start#连接mysql $ mysql -uroot -p  #首次密码是空的(直接敲空格) use

Hive 4、Hive 的安装配置(远端MyMql模式)

1.remote一体 这种存储方式需要在远端服务器运行一个mysql服务器,并且需要在Hive服务器启动meta服务.这里用mysql的测试服务器,ip位192.168.1.214,新建hive_remote数据库,字符集位latine1; $ vim hive-site.xml <configuration>      <property>     <name>hive.metastore.warehouse.dir</name>     <valu

Hive 2、Hive 的安装配置(本地MySql模式)

一.前提条件 安装了Zookeeper.Hadoop HDFS HA 二.安装Mysql 因为使用量多的是单用户数据库模式,并且数据库使用最多的是mysql 所以在这里选择mysql数据库: $ yum install mysql-server $ service mysqld start #连接mysql $ mysql -uroot -p #首次密码是空的(直接敲空格) use mysql; select host,user,password from user; --要删除 user为空的