flume 获取文件路径
如何获取文件路径?
修改job 文件 新增header名称
然后编写自定义拦截器代码如下
/** * 拦截source发送到通道channel中的消息 * * @param event 接收过滤的event * @return event 根据业务处理后的event */ @Override public Event intercept(Event event) { Map<String, String> map = event.getHeaders(); String filename = map.get("fileName"); System.out.println(filename); // 获取事件对象中的字节数据 byte[] arr = event.getBody(); byte[] bytes = new byte[0]; String s=null; try { s= guessEncoding(arr); if (!"UTF-8".equals(s)){ bytes = getUTF8BytesFromGBKString(new String(arr,"GBK")+"&"+filename); event.setBody(bytes); }else{ event.setBody((new String(arr,"UTF-8")+"&"+filename).getBytes()); } } catch (Exception e) { e.printStackTrace(); } return event; }