Observablehq D3 顯示美國 Covid-19每日檢測數曲線
本線狀圖用于顯示每天美國 COVID-19 的每天測試量的線狀圖曲線我們使用的是線上 JSON 資料,資料是通過 AWS 進行讀取的。
你可以直接通路下面的連結來獲得我們處理上傳的資料。
https://cdn.ossez.com/dataset/json/covid19/covid19-daily-tested-us.json我們做資料分析的前提是資料來源相對可靠,如果資料來源不可靠,做資料分析也沒有什麼太大的價值。
相對每天的确診總數來說這個更加有意思。因為用美國的檢測量相對比較大,資料的波動也比較劇烈,從上面的曲線就可以看出來了。很多人都說美國疫情比較嚴重,确實是美國的疫情是相對人數非常多的,但是我們需要看到他們的檢測量也是非常高的。從資料分析來看 ,美國 Covid-19 的檢測能力是從 3 月8号 左右開始提升的,最開始的提升并不是非常高,但是到了 5 月份以後可以看到美國的檢測能力是穩步提升的,一直到 5 月11 号左右,在美國的 Covi-19 檢測能力已經接近 40 萬每一天。
從這個曲線也可以看到,美國問題嚴重也是因為他們檢查的數量多,檢測能力比較強。對流行病來說,這種能力不是壞事。
雖然我們每天都會自動上傳一些資料,但是你可能的更新資料每次都不一樣。
我們主要也是希望通過這個平台來學習 D3 圖表的使用。
你可以直接通路下面的連結:
https://observablehq.com/@yuchenghu/us-covid-19-daily-tested-cases-covid-19對代碼修改後進行編譯,需要注意的是我們資料是上傳到 AWS 的 JSON 資料,資料的來源是從
https://covidtracking.com/api下載下傳後處理的。
下載下傳的方式是通過 Spring Batch 建構一個批量處理程式,每天定時獲得最新資料後存儲到本地資料庫中,然後從本地資料庫中導出為 JSON 資料。我也認為這種處理方式過于繁瑣,其實在記憶體中就可以實作了,在獲得原資料的 API 後,你可以直接将源資料轉換為對象。
使用本地資料庫的原因是擔心源 API 不能提供正常的通路服務,其實很多時候這種備援也是沒有太大必要的。更主要的是我們希望通過這個了解 Spring Batch 和 Hibernate JPA 的使用,這個對其他項目是非常有幫助的。
然後利用 gson 将對象轉換為需要的字元串後輸出成 JSON 就可以了。
如果你對 AWS API 比較了解和熟悉的話,你可以利用 AWS 的API 直接将生成的 json 資料上傳到 S3 上存儲。

針對在一個已經部署比較好的和設計比較優化的技術架構上,上面的資料生成和處理基本上能夠在 4 個小時内完成設計,部署,上傳,分發。
Spring 的微服務對 Java 世界來說,還是起到了非常大的促進作用。
https://www.cwiki.us/pages/viewpage.action?pageId=62619837