資源簡(jiǎn)介
這是一個(gè)自定義nifiprocessor的實(shí)例,里面提供了五個(gè)實(shí)例,提取url頁面中所有的a標(biāo)簽,通過redis過濾,去重,過濾等等。

代碼片段和文件信息
package?hylanda.processors.getatag;
import?java.io.BufferedOutputStream;
import?java.io.OutputStream;
import?java.util.ArrayList;
import?java.util.Collections;
import?java.util.Date;
import?java.util.HashSet;
import?java.util.List;
import?java.util.Set;
import?org.apache.commons.io.IOUtils;
import?org.apache.nifi.annotation.behavior.ReadsAttribute;
import?org.apache.nifi.annotation.behavior.ReadsAttributes;
import?org.apache.nifi.annotation.behavior.WritesAttribute;
import?org.apache.nifi.annotation.behavior.WritesAttributes;
import?org.apache.nifi.annotation.documentation.CapabilityDescription;
import?org.apache.nifi.annotation.documentation.SeeAlso;
import?org.apache.nifi.annotation.documentation.Tags;
import?org.apache.nifi.annotation.lifecycle.OnScheduled;
import?org.apache.nifi.components.PropertyDescriptor;
import?org.apache.nifi.flowfile.FlowFile;
import?org.apache.nifi.logging.ComponentLog;
import?org.apache.nifi.processor.AbstractProcessor;
import?org.apache.nifi.processor.ProcessContext;
import?org.apache.nifi.processor.ProcessSession;
import?org.apache.nifi.processor.ProcessorInitializationContext;
import?org.apache.nifi.processor.Relationship;
import?org.apache.nifi.processor.exception.ProcessException;
import?org.apache.nifi.processor.util.StandardValidators;
import?com.alibaba.fastjson.JSONArray;
import?com.alibaba.fastjson.JSONobject;
import?hylanda.processors.getatag.util.GenUrlCrc64;
import?hylanda.processors.getatag.util.IpConfig;
@Tags({“hylandaxinwenduchaurljson“})
@CapabilityDescription(“新聞督察用同一個(gè)taskid下的多個(gè)結(jié)果url分解成jsonarray“)
@SeeAlso({})
@ReadsAttributes({@ReadsAttribute(attribute=““?description=““)})
@WritesAttributes({@WritesAttribute(attribute=““?description=““)})
public?class?XWDCAttributeToJSON?extends?AbstractProcessor{
public?static?final?PropertyDescriptor?LIST?=?new?PropertyDescriptor
???? .Builder().name(“l(fā)ist“)
???? .displayName(“l(fā)ist“)
???? .description(“url?list!“)
???? .required(true)
???? .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
???? .build();
public?static?final?PropertyDescriptor?TASK_ID?=?new?PropertyDescriptor
???? .Builder().name(“task_id“)
???? .displayName(“task_id“)
???? .description(“task?id!“)
???? .required(true)
???? .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
???? .build();
public?static?final?PropertyDescriptor?SOURCE_URL?=?new?PropertyDescriptor
???? .Builder().name(“source_url“)
???? .displayName(“source_url“)
???? .description(“source_url!“)
???? .required(true)
???? .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
???? .build();
public?static?final?PropertyDescriptor?SITE_ID?=?new?PropertyDescriptor
???? .Builder().name(“site_id“)
???? .displayName(“site_id“)
???? .description(“site_id!“)
???? .required(true)
???? .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
???? .build();
public?static?final?Relationship?SUCCESS?=?new?Relationship.Builder
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????445??2017-12-29?17:03??nifi-get-a-tag-processor\.classpath
?????文件?????????30??2018-01-03?17:55??nifi-get-a-tag-processor\.git\COMMIT_EDITMSG
?????文件????????288??2018-01-03?14:44??nifi-get-a-tag-processor\.git\config
?????文件?????????23??2018-01-03?14:09??nifi-get-a-tag-processor\.git\HEAD
?????文件??????14296??2018-01-03?17:55??nifi-get-a-tag-processor\.git\index
?????文件????????473??2018-01-03?17:55??nifi-get-a-tag-processor\.git\logs\HEAD
?????文件????????473??2018-01-03?17:55??nifi-get-a-tag-processor\.git\logs\refs\heads\master
?????文件????????280??2018-01-03?17:55??nifi-get-a-tag-processor\.git\logs\refs\remotes\origin\master
?????文件????????193??2018-01-03?17:55??nifi-get-a-tag-processor\.git\ob
?????文件??????37332??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件????????218??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件?????????50??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件???????1038??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件???????3359??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件???????1238??2017-12-28?16:56??nifi-get-a-tag-processor\.git\ob
?????文件?????????91??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件????????159??2017-12-28?16:56??nifi-get-a-tag-processor\.git\ob
?????文件?????????52??2018-01-03?17:55??nifi-get-a-tag-processor\.git\ob
?????文件???????2343??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件????????159??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件?????????50??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件????????349??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件????????776??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件?????????63??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件?????????64??2017-12-28?16:56??nifi-get-a-tag-processor\.git\ob
?????文件????????184??2018-01-03?14:43??nifi-get-a-tag-processor\.git\ob
?????文件?????????49??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件????????211??2018-01-03?14:43??nifi-get-a-tag-processor\.git\ob
?????文件?????189890??2018-01-03?14:13??nifi-get-a-tag-processor\.git\ob
?????文件????????165??2018-01-03?14:43??nifi-get-a-tag-processor\.git\ob
............此處省略596個(gè)文件信息
評(píng)論
共有 條評(píng)論