From d1feb0577a7c013563bf078a18d3cbfb51a38fa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E7=A5=A5?= <1366971433@qq.com> Date: Thu, 30 May 2019 16:05:15 +0800 Subject: [PATCH] =?UTF-8?q?Hive=E5=B8=B8=E7=94=A8DML=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- notes/Hive常用DML操作.md | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/notes/Hive常用DML操作.md b/notes/Hive常用DML操作.md index f0e090f..af21b29 100644 --- a/notes/Hive常用DML操作.md +++ b/notes/Hive常用DML操作.md @@ -13,19 +13,16 @@ ### 1.1 语法 -将文件数据加载到表时,Hive不会进行任何转换,加载操作是纯复制/移动操作,它将数据文件移动到Hive表定义的存储位置。 - ```shell LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] ``` -- Load 关键字代表从本地文件系统加载文件,省略则代表从HDFS上加载文件: - - + 从本地文件系统加载文件时, `filepath`可以是绝对路径也可以是相对路径(建议使用绝对路径); - - + 从HDFS加载文件时候,`filepath`为文件完整的URL地址:如`hdfs://namenode:port/user/hive/project/ data1` - +- `LOCAL`关键字代表从本地文件系统加载文件,省略则代表从HDFS上加载文件: ++ 从本地文件系统加载文件时, `filepath`可以是绝对路径也可以是相对路径(建议使用绝对路径); + ++ 从HDFS加载文件时候,`filepath`为文件完整的URL地址:如`hdfs://namenode:port/user/hive/project/ data1` + - `filepath`可以是文件路径(在这种情况下Hive会将文件移动到表中),也可以目录路径(在这种情况下,Hive会将该目录中的所有文件移动到表中); - 如果使用OVERWRITE关键字,则将删除目标表(或分区)的内容,使用新的数据填充;不使用此关键字,则数据以追加的方式加入; @@ -36,7 +33,7 @@ INTO TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)] > 使用建议: > -> **不论是本地路径还是URL都建议使用完整的**。虽然可以使用不完整的URL地址,此时Hive将使用hadoop中fs.default.name配置来推断地址,但是为避免不必要的错误,建议使用完整的本地路径或URL地址; +> **不论是本地路径还是URL都建议使用完整的**。虽然可以使用不完整的URL地址,此时Hive将使用hadoop中的fs.default.name配置来推断地址,但是为避免不必要的错误,建议使用完整的本地路径或URL地址; > > **加载对象是分区表时建议显示指定分区**。在Hive 3.0之后,内部将加载(LOAD)重写为INSERT AS SELECT,此时如果不指定分区,INSERT AS SELECT将假设最后一组列是分区列,如果该列不是表定义的分区,它将抛出错误。为避免错误,还是建议显示指定分区。