- 5
- 0
- 约5.48千字
- 约 6页
- 2017-03-11 发布于广东
- 举报
【转】java大数据处理(千万级别FTP下载)
从ftp主机取xx数据文件.???????? 千万级别只是个概念,代表数据量等于千万或者大于千万的数据??????????? 本分享不牵扯分布式采集存储之类的.是在一台机器上处理数据,如果数据量很大很大的话,可以考虑分布式处理,如果以后我有这方面的经验,会及时分享的.????? 1、程序采用的ftp工具, apache 的 commons-net-ftp-2.0.jar??????? 2、千万级别ftp核心关键的部分--列目录到文件,只要是这块做好了,基本上性能就没有太大的问题了.????????? 可以通过apache 发送ftp命令 NLST 的方式列目录到文件中去?????
Java代码??
????
#?ftp列目录执行的命令?以环境变量的配置优先,不配置则使用默认的列目录方式?NLST??#?DS_LIST_CMD?=?NLST???
??
public?File?sendCommandAndListToFile(String?command,String?localPathName)?throws???IOException???
????????{??
?????????????????try?{??
?????????????????????????return?client.createFile(command,?localPathName);??
?????????????????}?catch?(IOException?e)?{??
?????????????????????????log.error(e);??
?????????????throw?new?IOException(the?command?+command?+?is?incorrect);??
?????????????????}??
?????????}??
?????? 当然应该还有其他形式的,大家可以自己研究一下??????????????????? 十万级别以上的数据量的话千万不要使用下面这种方式,如果用的话 ==== 找死????????
Java代码??
FTPFile[]?dirList?=?client.listFiles();????
?? 3、分批次从文件中读取 要下载的文件名.? 加载到内存中处理,或者读取一个文件名就下载一个文件,不要把所有的数据都加载到内存,如果很多的话会出问题????????????????????? 为啥要分批次???????????????? 因为是大数据量,如果有1000W条记录,列出来的目录文件的大小 1G以上吧??????? 4、文件下载的核心代码----关于文件的断点续传, 获得ftp文件的大小和本地文件的大小进行判断,然后使用ftp提供的断点续传功能??????????????? 下载文件一定要使用二进制的形式?
Java代码??
???????????client.enterLocalPassiveMode();//?设置为被动模式??
????????????ftpclient.binary();??//?一定要使用二进制模式??
/**?下载所需的文件并支持断点续传,下载后删除FTP文件,以免重复?
???????*?@param?pathName?远程文件?
???????*?@param?localPath?本地文件?
???????*?@param?registerFileName?记录本文件名称目录?
???????*?@param?size?上传文件大小?
???????*?@return?true?下载及删除成功?
???????*?@throws?IOException??
??????*?@throws?Exception?
???????*/??
??????public?boolean?downLoad(String?pathName,?String?localPath)?throws?IOException?{??
??????????????boolean?flag?=?false;??
??????????????File?file?=?new?File(localPath+.tmp);//设置临时文件??
??????????????FileOutputStream?out?=?null;??
??????????????try{??
??????????????????client.enterLocalPassiveMode();//?设置为被动模式??
??????????????????client.setFileType(FTP.BINARY_F
您可能关注的文档
最近下载
- 2025【财务共享模式在窖型白酒企业的应用实例分析—以泸州老窖为例13000字】.docx VIP
- 采血后预防淤青的按压方式.pptx
- 湖南科技职业学院2026年单独招生考试文化素养测试大纲及样题.pdf VIP
- 哈雷sportster车系电路工作原理与维修(四).pdf VIP
- 黑龙江护理单招试题及答案.docx VIP
- 2025年黑龙江省职业教育春季高考考试招生语文全真模拟卷(一)(原卷版).docx VIP
- 一种毛钩藤碱在治疗血小板减少症药物中的应用.pdf VIP
- 市场部门市场营销专员工作手册(标准版).doc VIP
- 2022森林防火基础设施设备建设规范.docx VIP
- DB21T1823-2010 既有居住建筑节能改造技术规程.pdf VIP
原创力文档

文档评论(0)