hive 数据库没有针对单行的数据库插入(insert)、删除(delete)、更新(update)操作
如果想要向hive中输入数据,可以从一个文件向hive中导入 (load)
hive在导入数据的时候,不会对数据格式进行检查,也就是说输入文件的格式是否和table定义时的schema是否一致,hive是不关心的,他只负责copy/move 数据,但是他会检查文件的形式(format) 是否和文件定义的format一致
命令原型如下:
LOAD DATE [LOCAL] INPATH 'file-paht/file-dir'
[OVERWRITE] INTO TABLE tablename
[PATITION (partition list)]
实例:
load data local inpath '/home/users/hive_file_test/test_employees.txt'
overwrite into table employees
partition (country='US',state='zCA');
变量解释
LOCAL | 使用LOCAL 说明是从本地文件输入,否则数据源来自于hdfs |
OVERWRITE | 使用overwrite的话,hive会删除对应目录下面的文件,然后再copy/move ;否是只是追加,同名则覆盖 |
PATITION | 对于一个使用了partition定义的表,使用PARTITION的话,hive会建立相应的目录,然后再copy/move 数据 |
inpath | 输入文件的位置,如果是目录,则会将这个目录下所有文件copy/move |