multipleoutput文件

dzhpxtsq  于 2021-05-29  发布在  Hadoop
关注(0)|答案(0)|浏览(159)

我关注了这篇文章:用pythonmapper为hadoop流生成多输出文件的hadoop流,我也得到了这个。所以我希望我的结构是这样的:日期--:
---代码=1
---代码=2
---代码=3
日期--:
:
:
但在code=1和其他目录中,所有内容都只写入一个文件,由于我的数据非常大,所以我的工作需要花费大量时间才能完成。有解决办法吗???

  1. package com.custom;
  2. import org.apache.hadoop.fs.Path;
  3. import org.apache.hadoop.io.Text;
  4. import org.apache.hadoop.mapred.lib.MultipleTextOutputFormat;
  5. import java.lang.*;
  6. public class CustomMultiOutputFormat extends MultipleTextOutputFormat<Text, Text> {
  7. @Override
  8. protected String generateFileNameForKeyValue(Text key, Text value, String leaf) {
  9. String key_temp,date,code,key_final;
  10. key_temp=key.toString();
  11. String[] arr=key_temp.split("/");
  12. date="date=" +arr[0];
  13. code ="code="+arr[1];
  14. key_final=date+"/"+code;
  15. Text t1 = new Text(key_final);
  16. return new Path(t1.toString(), leaf).toString();
  17. }
  18. @Override
  19. protected Text generateActualKey(Text key, Text value) {
  20. return null;
  21. }
  22. }

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题