繁体   English   中英

Apache Nifi JOLTTransformJSON处理器

[英]Apache Nifi JOLTTransformJSON Processor

我有一个流程旨在使用Get twitter处理器提取推文,并且我使用JOLTTransformJSON处理器提取一些属性,包括井号,我的Jolt规范如下

[
  {
"operation": "shift",
"spec": {
  "entities": {
    "hashtags": {
      "*": "hashtags"
    }
  },
  "text": "content",
  "id": "id",
  "timestamp_ms": "timestamp",
  "retweet_count": "retweetcount",
  "url": "url"
}
  },
  {
"operation": "default",
"spec": {
  "type": "twitter"
}
  },
  {
"operation": "cardinality",
"spec": {
  "hashtags": "MANY"
}
  }
 ]

当twitter输出包含主题标签时,JOLTTransformJSON处理器输出将通过以下方式为我提供这些主题标签

{
"hashtags": [{
    "text": "Venus",
    "indices": [16,
    22]
},
{
    "text": "Cancer",
    "indices": [69,
    76]
},
{
    "text": "ascendant",
    "indices": [86,
    96]
}],
"content": "acmc_clock_euro #Venus is now (16h58m01s UT) setting at 10°32'50.2'' #Cancer opposite #ascendant at Helsinki, SF",
"id": 895332436975931393,
"timestamp": "1502298862104",
"retweetcount": 0,
"url": "https://twitter.com/pe602/status/895332436975931393",
"type": "twitter"
}

但是,如果hashtags数组为空,则如下所示

"entities": {
    "hashtags": []

输出将不包含主题标签,如果twitter op没有使用JOLT处理器的主题标签,如何使输出具有主题标签元素但具有空数组。

在第二个“默认”操作中尝试此操作。

{
  "operation": "default",
  "spec": {
    "hastags": [],
    "type": "twitter"
  }
}

通过使用“ modify-default-beta”操作来解决此问题,如下所示

{“ operation”:“ modify-default-beta”,“ spec”:{“ hashtags”:[]}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM