日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

從其他Logstore獲取數據進行數據富化

本文檔介紹如何通過資源函數從其他Logstore中獲取數據對數據進行富化。

背景信息

某酒店將客人個人信息存儲在名為user_logstore的Logstore中,將客人入住信息存儲在名為check-in_logstore的Logstore中,現在酒店希望從check-in_logstore中獲取部分字段數據,與user_logstore中的數據拼接。針對該需求,日志服務提供res_log_logstore_pull函數從check-in_logstore中獲取數據,提供e_table_map函數實現數據富化。

不同Logstore日志的拼接

  • 原始數據

    • 用于存儲個人信息的Logstore(user_logstore)

      topic:xxx
      city:xxx
      cid:12345
      name:maki
      
      topic:xxx
      city:xxx
      cid:12346
      name:vicky
      
      topic:xxx
      city:xxx
      cid:12347
      name:mary
    • 用于存儲入住信息的Logstore(check-in_logstore)

      time:1567038284
      status:check in
      cid:12345
      name:maki
      room_number:1111
      
      time:1567038284
      status:check in
      cid:12346
      name:vicky
      room_number:2222
      
      time:1567038500
      status:check in
      cid:12347
      name:mary
      room_number:3333
      
      time:1567038500
      status:leave
      cid:12345
      name:maki
      room_number:1111
  • 加工規則

    說明

    res_log_logstore_pull函數支持設置時間范圍,您可以設置一個時間區間,也可以只設置開始時間。

    • 在加工規則中,設置from_time=1567038284,to_time=1567038500,則表示只獲取該時間范圍內的Logstore數據。

    • 在加工規則中,設置from_time="begin",則表示持續獲取Logstore數據。

    res_log_logstore_pull函數中的各個字段詳情請參見res_log_logstore_pull。

    • e_table_map函數

      通過兩個Logstore中相同的cid字段進行匹配,只有cid字段的值完全相同,才能匹配成功。匹配成功后,返回Logstore(check-in_logstore)中的room_number字段和字段值,與Logstore(check-in_logstore)中的數據拼接,生成新的數據。

      e_table_map(res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, 
              fields=["cid","room_number"],
              from_time="begin",
              ), "cid","room_number")
  • 加工結果

    • e_table_map函數

      topic:xxx
      city:xxx
      cid:12345
      name:maki
      room_nuber:1111
      
      topic:xxx
      city:xxx
      cid:12346
      name:vicky
      room_number:2222
      
      topic:xxx
      city:xxx
      cid:12347
      name:mary
      room_number:3333

設置黑白名單過濾數據

設置白名單

  • 加工規則

    通過fetch_include_data設置白名單,例如fetch_include_data="room_number:1111"表示在獲取數據過程中,只獲取room_number值為1111的數據。

    res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, ["cid","name","room_number","status"],from_time=1567038284,to_time=1567038500,fetch_include_data="room_number:1111")
  • 獲取到的數據

    status: check in
    cid:12345
    name:maki
    room_number:1111
    
    status:leave
    cid:12345
    name:maki
    room_number:1111

設置黑名單

  • 加工規則

    通過fetch_exclude_data設置黑名單,例如fetch_exclude_data="room_number:1111"表示在獲取數據過程中,丟棄room_number值為1111的數據。

    res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, ["cid","name","room_number","status"],from_time=1567038284,to_time=1567038500,fetch_exclude_data="room_number:1111")
  • 獲取到的數據

    status:check in
    cid:12346
    name:vicky
    room_number:2222
    
    
    status:check in
    cid:12347
    name:mary
    room_number:3333

同時設置黑白名單

  • 加工規則

    同時設置黑白名單時,優先匹配黑名單,再匹配白名單。例如fetch_exclude_data="time:1567038285",fetch_include_data="status:check in"表示在數據獲取過程中,先匹配time值為1567038285的數據進行丟棄,再匹配status值為check in的數據進行獲取。

    res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, ["cid","name","room_number","status"],from_time=1567038284,to_time=1567038500,fetch_exclude_data="time:1567038285",fetch_include_data="status:check in")
  • 獲取到的數據

    status:check in
    cid:12345
    name:maki
    room_number:1111
    
    
    status:check in
    cid:12346
    name:vicky
    room_number:2222
    
    
    status:check in
    cid:12347
    name:mary
    room_number:3333

開啟主鍵維護獲取目標Logstore數據

當您獲取到數據但還沒加工時,您希望刪除已獲取到數據,不再加工,您可以開啟主鍵維護功能。例如:您要在名為check-in_logstore的Logstore中,獲取已入住但未離開的客戶入住信息,如果獲取到的數據中包含status:leave表示客人已經離開,可以設置res_log_logstore_pull函數的primary_keys參數設置主鍵,不加工該數據。

說明
  • primary_keys參數只支持設置單個字符串,且必須存在于fields字段中。

  • 開啟主鍵維護功能時,待拉取數據的Logstore中只能存在一個Shard。

  • 開啟主鍵維護功能時,delete_data字段必須不為None。

  • 加工規則

    res_log_logstore_pull(endpoint, ak_id, ak_secret, project, logstore, ["cid","name","room_number","status","time"],from_time=1567038284,to_time=None,primary_keys="cid",delete_data="status:leave")
  • 獲得數據

    namemaki的客人,最后的入住信息為status:leave表示已離開酒店,則不加工該客人的相關數據。

    time:1567038284
    status:check in
    cid:12346
    name:vicky
    room_number:2222
    
    time:1567038500
    status:check in
    cid:12347
    name:mary
    room_number:3333