使用load
使用
load data [local] inpath 'file' [OVERWRITE] INTO TABLE tb partition(ds='',hs='')
当数据在本地:
不管是内部表还是外部表,都会复制一份数据到表路径下。
当数据在hdfs上:
不管是内部表还是外部表,都会转移(mv)这份数据到表路径下。
转移后的路径为 ${tbpath}/ds=xx/hs=xx/
使用alter add
使用
ALTER TABLE tb ADD IF NOT EXISTS PARTITION (ds='20190902',hs='21',ms='25') LOCATION '/tmp/tb/20190902/21/25';
当数据在本地:
不管是内部表还是外部表,都会复制一份数据到hdfs相应路径下。
当数据在hdfs上:
不管是内部表还是外部表,数据都不会到表路径下。只是修改了表都路径