load 命令本质:
命令执行后,源目录文件移动到数据库的表所在目录下。实际上,文件在磁盘中的位置并未发生变化,而是指向文件位置的指针发生了改变;因此,load导入方式效率极高,建议使用!
load 命令主要将数据从本地或Hdfs导入到表路径下,数据文件的格式并未发生变化,那么问题就来了?
一般文件格式为text,如果建表时要求写入的数据格式为orc,那么数据导入之后就不能被识别
原因:load 命令很简单,不会转化为inputformat,outputformat,serde三个组件,从而,不会调用格式转化
解决:使用insert 命令导入数据到表中,可解决此问题,具体见数据插入——原理;因此,在建表时,需要先建一个临时表,将本地数据load到临时表中,再insert到目标表中!