1、小文件怎么产生
1)通过某种手段采集数据采集过来
Flume 采集到HDFS的数据会有很多小文件 需要调优
Logstash
WebServer
2)MR(setPartitionerClass/setNumReduceTasks)/Hive/Spark(Core/SQL/Streaming)
ETL 产生很多小文件
stat(计算的东西又写入到表中) 数据仓库 分好几层 又是一堆小文件
解决???
删:原始数据
ETL:根据规定删除
Stat:
合?
SequenceFile: 优点,缺点
CombineFIleInputFormat 文本,列式(ORC)
Hive合并小文件的参数控制
归档(合并小文件,为大文件) 为一个pksmall.har文件夹
hadoop archive -archiveName pksmall.har -p /small /pksmallhar
如果需要查看归档文件中的小文件
hadoop fs -ls har:///small /pksmallhar/pksmall.har
如果要 MapReduce 执行作业只需要指定har:///small /pksmallhar/pksmall.har Hadoop会自动去执行
discp
hadoop distcp hdfs://nn1:8020/foo/bar hdfs://nn2:8020/bar/foo
远程拷贝文件
scp -r xxx hadoop@hadoop000:~/data
web页面: CDH CM->WebUI, HortonWorks: -> HDP
HDFS 删数据:
跨集群传输