Apache Nifi HBASE查询

问题描述 投票:2回答:1

我是Apache Nifi的新手

我们创建了Nifi流,它正在消耗kafka的json数据,结果在丰富后被发送到另一个kafka主题。然而HBase查找并不返回key的值。相反,它返回的是key、value对,比如 MapRecord[{SERIAL_NUM=123456789}]. 但我只要求值为'123456789'。

我无法解决这个问题,谁能帮我解决这个问题?

我正在分享我的流程的输出。我们想把 "hbase_integid "的值看成 "123456789",但是查询服务却返回

MapRecord[{SERIAL_NUM=123456789}]"

如何才能只提取SERIAL_NUM值("123456789")??

[
  {
    "table" : SIEBEL.S_ASSET,
    "op" : Update,
    "hbase_integid" : **MapRecord[{SERIAL_NUM=123456789}]**,
    "op_type" : U,
    "op_ts" : 2018-04-02 05:48:35.055299,
    "current_ts" : 2018-04-02T08:48:40.071000,
    "pos" : 00000000020530642196,
    "before" : {
        "ROW_ID" : 1-G7B7EGF,
        "BILLACCT_ID" : ,
        "BILL_ACCNT_ID" : 1-G79GNWP,
        "BILL_PROFILE_ID" : 1-1FJHFB0,
        "INTEGRATION_ID" : 1-G79GU5K,
        "NAME" : ,
        "OWNER_ACCNT_ID" : 1-G79GEVV,
        "OWNER_CON_ID" : 1-G79GEW3,
        "PROD_ID" : 1-Q5B470,
        "PROMOTION_ID" : ,
        "PROM_INTEG_ID" : ,
        "PROM_ITEM_ID" : ,
        "PR_ACCNT_ID" : ,
        "PR_CON_ID" : No Match Row Id,
        "ROOT_ASSET_ID" : 1-G7B7EFI,
        "SERIAL_NUM" : ,
        "X_VF_MSISDN" : ,
        "X_VF_PERMISSONS" : 
    },
    "after" : {
        "ROW_ID" : 1-G7B7EGF,
        "BILLACCT_ID" : ,
        "BILL_ACCNT_ID" : ,
        "BILL_PROFILE_ID" : ,
        "INTEGRATION_ID" : ,
        "NAME" : ,
        "OWNER_ACCNT_ID" : ,
        "OWNER_CON_ID" : ,
        "PROD_ID" : ,
        "PROMOTION_ID" : ,
        "PROM_INTEG_ID" : ,
        "PROM_ITEM_ID" : ,
        "PR_ACCNT_ID" : ,
        "PR_CON_ID" : ,
        "ROOT_ASSET_ID" : ,
        "SERIAL_NUM" : ,
        "X_VF_MSISDN" : ,
        "X_VF_PERMISSONS" : 
    }
  }
]
hbase streaming lookup apache-nifi data-ingestion
1个回答
0
投票

如果你使用的是LookupRecord处理器,文档有些误导。设置你的处理器,如截图所示。确保以下两个属性设置正确。

  1. 记录结果内容必须设置为 "插入记录字段
  2. 记录更新策略应设置为 "使用属性"。
  3. 最后,结果记录路径必须设置为 / 而不是 hbase_integid (这似乎是文档中的一个错误)

希望对大家有所帮助!

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.