我希望java代码将csv文件(在HDFS中)拆分为3个文件而不将其移动到本地计算机。这必须在HDFS内完成。
答案 0 :(得分:0)
你只需要阅读一些文档... Here是一个很好的帖子,你可能会自己找到解决方案,它只是一个java程序:)
答案 1 :(得分:0)
需要有关您的问题的更多详细信息。 您是否只想将文件拆分为3个随机大小的文件,或者您是否有必须拆分文件的业务要求。
但无论您的情况如何,您都可以单独编写Mapper并将映射器的输出保存到文件中,或者您可以编写Pig脚本来执行相同操作。
示例Pig脚本(假设您已在计算机上安装了Pig)
假设您输入的文件是下面给出的文件并保存为InputData.txt
Shabbir Khan 9314573259 Bangalore Engineer
Manish Sharma 8882148796 Gurgaon Lecturer
Mahesh Kumar 8521548932 Noida Business
Sampath Reddy 8547987412 Hyderabad Engineer
Mohan Reddy 9256458798 Hyderabad Professor
Pig脚本根据我只需要City作为Hyderabad的记录来加载和存储文件。
A = LOAD 'InputData.txt' using PigStorage (‘\t’) as (FName: chararray, LName: chararray, MobileNo: chararray, City: chararray, Profession: chararray);
FilteredLst = FILTER A BY City='Hyderabad';
store FilteredLst '/user/output';