Apache Hive--DML--load 装载数据| 学习笔记

开发者学堂课程【大数据 Hive教程精讲Apache Hive--DML--load装载数据】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/90/detail/1375


Apache Hive--DML--load装载数据


内容介绍:

DML操作:

 

DML操作:

Load

在将数据加载到表中时,Hive 不会进行任何转换。加载操作是将数据文件移动到与Hive表对应的位置的纯复制/移动操作。

语法结构

LOAD DATA [LOCAL] INPATH 'filepath' [OVERWRITE] INTO

TABLE tablename [PARTITION (partcol1=val1, partcol2=val2 ...)]

说明:

1、filepath

相对路径,例如: project/datal

绝对路径,例如:/user/hive/project/datal

完整URI,例如: hdfs: //namenode : 9000/user/hive/project/datal

filepath可以引用一个文件(在这种情况下,Hive 将文件移动到表中),或者它可以是一个目录(在这种情况下,Hive将把该目录中的所有文件移动到表中)。

2、LOCAL

如果指定了LOCAL,load 命令将在本地文件系统中查找文件路径。

load 命令会将 filepath 中的文件复制到目标文件系统中。目标文件系统由表的位置属性决定。被复制的数据文件移动到表的数据对应的位置。

如果没有指定 LOCAL关键字,如果filepath指向的是一个完整的 URl,hive 会直接使用这个URI。否则:如果没有指定schema或者authority,Hive 会使用在 hadoop配置文件中定义的 schema 和 authority,fs.default.name 指定了 Namenode 的 URI。

3、OVERWRITE

如果使用了 OVERWRITE 关键字,则目标表(或者分区)中的内容会被删除,然后再将filepath指向的文件/目录中的内容添加到表/分区中。

如果目标表(分区)已经有一个文件,并且文件名和 filepath中的文件名冲突,那么现有的文件会被新文件所替代。

1: jdbc:hive2://node-1:10000> 1oad data 1oca1 INPATH'/root/hivedata/1.txt​​’INTO TABLE t_t2;

INFo : Loading data to table itcast.t_t2 from file:/root/hivedata/1.txt

INFO : Table itcast.t_t2 stats: [numFi1es=2, totaisize=62]

No rows affected (o.196 seconds)

1: jdbc:hive2:/ /node-1:10000>

[root@node-1 hivedata]# rzrz waiting to receive.

starting zmodem transfer. Press Ctr1+C to cance1.

Transferring students.txt...​​

100%   526 bytes   526 bytes /sec 0o:00:01    o Errors

[root@node-1 hivedata]# hadoop fs -mkdir /stu

[root@node-1 hivedataj# hadoop fs -put students.txt /stu

[root@node-1 hivedataj#

上一篇:Apache Hive--DML--load 装载数据| 学习笔记


下一篇:分组排序案例扩展| 学习笔记