#Hive数据加载
LOAD DATA LOCAL INPATH 'test_data'
[OVERWRITE] INTO TABLE test PARTITION(day='20191005');
但有时数据文件很大,需要将大文件分解
split -a 2 -d -l 1000000 test_data test_data_split_
会得到几个以“test_data_split_”开头的文件。其中“-a 2 d” 表示后缀是两位的整数,“-l 1000000” 表示以每1000000行分隔文件,比如得到
test_data_split_00等等
这时我们需要一个一个加载(好麻烦,暂时没找到快捷方式)
LOAD DATA LOCAL INPATH 'test_data_split_00'
INTO TABLE test PARTITION(day='20191005');
注意,不要加“OVERWRITE”,当然,手欠,加了几次,发现可以找回的
查看最近一次删除的文件
hadoop fs -ls /user/hadoop/.Trash/Current/user/hive/warehouse/myhive.db/file_folder
下载到当前路径
hadoop fs -get /user/hadoop/.Trash/Current/user/hive/warehouse/myhive.db/file_folder
如果不想使用直接hive,我们可以间接地通过hadoop fs shell命令实现(当前路径的文件)数据加载,注意这里的数据应符合HDFS文件要求,一般是“|”分隔,至于“,”是否可行,可以一试。
hadoop fs -put filename /user/hive/warehouse/myhive.db/test/
不同的是,这里的“filename” 可以是多个。
更多hadoop fs shell 可参考官方文档。
中文版hadoop 1.0.4
英文版hadoop 2.7.7
。。。