docs: private List<FileData> doFileExtract(RowBatch rowBatch) {
          List<FileData> fileDatas = new ArrayList<FileData>();
          // 处理数据
          Pipeline pipeline = getPipeline(rowBatch.getIdentity().getPipelineId());
          List<EventData> eventDatas = rowBatch.getDatas();
          for (EventData eventData : eventDatas) {
              if (eventData.getEventType().isDdl()) {
                  continue;
              }
  
              List<DataMediaPair> dataMediaPairs = ConfigHelper.findDataMediaPairByMediaId(pipeline,
                                                                                           eventData.getTableId());
              if (dataMediaPairs == null) {
                  throw new ExtractException("ERROR ## the dataMediaId = " + eventData.getTableId()
                                             + " dataMediaPair is null,please check");
              }
  
              for (DataMediaPair dataMediaPair : dataMediaPairs) {
                  if (dataMediaPair.getResolverData() == null
                      || dataMediaPair.getResolverData().getExtensionDataType() == null
                      || (dataMediaPair.getResolverData().getExtensionDataType().isClazz() && StringUtils.isBlank(dataMediaPair.getResolverData().getClazzPath()))
                      || (dataMediaPair.getResolverData().getExtensionDataType().isSource() && StringUtils.isBlank(dataMediaPair.getResolverData().getSourceText()))) {
                      continue;
                  }
  
                  FileResolver fileResolver = null;
  
                  if (dataMediaPair.getResolverData() != null) {
                      fileResolver = extensionFactory.getExtension(FileResolver.class, dataMediaPair.getResolverData());
                  } else {
                      continue;
                  }
  
                  if (fileResolver == null) {
                      throw new ExtractException("ERROR ## the dataMediaId = " + eventData.getTableId()
                                                 + " the fileResolver className  = "
                                                 + dataMediaPair.getResolverData().getClazzPath()
                                                 + " is null ,please check the class");
                  }
  
                  if (fileResolver instanceof RemoteDirectoryFetcherAware) {
                      RemoteDirectoryFetcherAware remoteDirectoryFetcherAware = (RemoteDirectoryFetcherAware) fileResolver;
                      remoteDirectoryFetcherAware.setRemoteDirectoryFetcher(arandaRemoteDirectoryFetcher);
                  }
  
                  List<FileData> singleRowFileDatas = getSingleRowFileInfos(dataMediaPair.getId(), fileResolver,
                                                                            eventData);
                  // 做一下去重处理
                  for (FileData data : singleRowFileDatas) {
                      if (!fileDatas.contains(data)) {
                          fileDatas.add(data);
                      }
                  }
              }
          }
  
          // 判断是否需要进行图片重复同步检查
          if (pipeline.getParameters().getFileDetect()) {
              doFileDetectCollector(pipeline, fileDatas);
          }
          return fileDatas;
      }