Apache Hive——DML Load装载数据

Apache Hive——DML操作

Load

在将数据加载到表中时,Hive不会进行任何转换。加载操作是将数据文件移动到与Hive表对应的位置的纯复制/移动操作。
语法结构:
LOAD DATA [LOCAL] INPATH ‘filepath’ [OVERWRITE] INTO TABLE tablename [PARTITION(partcol1=val1,partcol2=val2…)]
在这里插入图片描述

说明
1、filepath
相对路径,例如:project/data1
绝对路径,例如:/user/hive/project/data1
完整URI,例如:hdfs://namenode:9000/user/hive/project/data1

filepath可以引用一个文件(在这种情况下,Hive将文件移动到表中),或者它可以是一个目录(在这种情况下,Hive将把该目录中的所有文件移动到表中)。
2、LOCAL
如果制定了LOCAL,load命令将在本地文件系统中查找文件路径。
load命令会将filepath中的文件复制到目标文件系统中。目标文件系统由表的位置属性决定。被复制的数据文件移动到表的数据对应的位置。
如果没有指定LOCAL关键字,如果filepath指向的是一个完整的URI,hive会直接使用这个URI。否则:如果没有指定schema或者authority,Hive会使用在hadoop配置文件中定义的schema和authority,fs.default.name指定了Namenode的URI。
3、OVERWRITE
如果使用了OVERWRITE关键字,则目标表(或者分区)中的内容会被删除,然后再将filepath指向的文件/目录中的内容添加到表/分区中。
如果目标表(分区)已经有一个文件,并且文件名和filepath中的文件名冲突,那么现有的文件会被新文件所替代。
在这里插入图片描述
在这里插入图片描述
支持针对同名文件的复制操作:
在这里插入图片描述

发布了64 篇原创文章 · 获赞 2 · 访问量 2768

猜你喜欢

转载自blog.csdn.net/anniewhite/article/details/105317012
今日推荐