iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 22
0
Modern Web

ML X 友廷等公車系列 第 22

Day 22 遇到問題 & 解決問題

  • 分享至 

  • xImage
  •  

架構圖 (New)

轉變 儲存位置 from Firebase to json

拋棄 Firebase 的原因是 把資料讀取有 次數限制,因為資料為每天持續收集,但每天都會收一次全部的資料,做訓練,會有 Quota Exceed 狀況。
資料結構
Firebase
集合(去程/回程) -> 文件(GPSTime) -> 集合(PlateNumb+GPSTime+Speed+Lon+Lat)
json
{"車牌號碼1":[{資料1},{資料2},...],"車牌號碼2":[{資料1},{資料2},...]...}

問題描述

8/23 檢查 log (/var/mail/root)看看程式執行情況,發現 程式執行到 json.loads() 有 json.decoder.JSONDecodeError,Google 查了一下可能原因,通常都是 數據問題,所以從 GCP 下載 record.json (儲存每一分鐘收集的公車動態經緯度資料),滑到 Line 622 column 48 的位置,並沒有把資料完整寫入,其下的資料,順序上也出現問題,應該要是(GPSTime>Speed>Lon>Lat),但看到卻是 亂序,找不出規律

record.json

處理方式

推測是1分鐘時間來不及寫入,而造成數據寫入不完全。

  • 將時間調成每五分鐘 收一次資料 。
*/5 6-22 * * * python3 /home/turningpoint1125/collect_data.py
  • Try... Except...
try: #數據正常
    # load 舊data 加入新data ,最後寫入json   
except:
    # 回報 數據問題
    # 寄 mail ,訊息設定為 'Programmer No Life.'
  • 處理 record.json , 統計出 共幾筆資料,正常數量,異常數量(欄位順序錯)

    1. 手動補齊 json 格式

    2. 判斷欄位順序是否正確 dict 的 key 沒有欄位順序可言
    但最後 被我不小心刪掉 損壞檔(record.json) /images/emoticon/emoticon02.gif
    不能分析 ... /images/emoticon/emoticon20.gif

    養成檔案備份的習慣


上一篇
Day 21 : 數據評估
下一篇
Day 23 動態訓練模型
系列文
ML X 友廷等公車30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言