天天看點

新冠病毒肺炎疫情資料分析 APP 釋出 國際疫情大盤簡介亮點資料使用方法

簡介

在今年2月初,

SLS

已經釋出針對新冠病毒肺炎疫情國内動态展示分析 APP,目前該能力全面開放給政府、社群、第三方平台和開放者進行廣泛應用,完全免費開放。還沒有關注過的同學可以通過以下連結了解背景:

最近,随着新冠病毒肺炎疫情在全球爆發,

又推出了跟蹤關注全球範圍疫情動态的分析大盤。與國内大盤主要關注國内疫情(資料來源于央視新聞、人民日報、各省市衛健委公告)相比,國際疫情大盤則是跟蹤關注全球範圍的疫情動态,資料來源是被國際上廣泛引用的

約翰·霍普金斯大學開源資料集

阿裡雲日志服務(SLS)是針對日志類資料的一站式服務,無需開發就能快捷完成海量日志資料的采集、消費、投遞以及查詢分析等功能,提升運維、營運效率。日志服務主要包括實時采集與消費、資料投遞、查詢與實時分析等功能,适用于從實時監控到資料倉庫的各種開發、運維、營運與安全場景。

新冠病毒肺炎疫情資料分析 APP 釋出 國際疫情大盤簡介亮點資料使用方法

作為日志分析中台,日志服務提供了一站式的資料采集、加工、查詢分析、AI計算、可視化,并支援互聯互通。

新冠病毒肺炎疫情資料分析 APP 釋出 國際疫情大盤簡介亮點資料使用方法

亮點

1. 提供規整的疫情資料,并每天定時同步更新

SLS 已經将疫情相關資料進行收集和規整,每天定時更新,并形成可視化平台覆寫全球各個國家/地區、省份/州的疫情資訊。你隻需要專注在資料的分析和展示,其它繁瑣的細節 SLS 都已經處理好。

2. 預定義豐富資料大盤、并支援自定義

内置多份資料大盤并支援自定義提供全球各個國家/地區、省份/州疫情态勢。支援互動式查詢分析、自定義報表、深鑽與告警等。

全球疫情态勢概覽

新冠病毒肺炎疫情資料分析 APP 釋出 國際疫情大盤簡介亮點資料使用方法
新冠病毒肺炎疫情資料分析 APP 釋出 國際疫情大盤簡介亮點資料使用方法

各國家/地區的疫情詳情

新冠病毒肺炎疫情資料分析 APP 釋出 國際疫情大盤簡介亮點資料使用方法
新冠病毒肺炎疫情資料分析 APP 釋出 國際疫情大盤簡介亮點資料使用方法

3. 資料平台開放,互聯互通

資料平台開放,互聯互通日志服務是開放的,可以和大量其他環境的系統、三方應用或開源進行對接。提供易擴充的資料分析、存儲、可視化平台能力,如DataV、Blink、OSS、流計算、Grafana、SOC等。

新冠病毒肺炎疫情資料分析 APP 釋出 國際疫情大盤簡介亮點資料使用方法

4. 完全免費

完全免費疫情服務應用以及相關資源資料,包括儀表盤、告警等功能完全免費。

資料

導入和規整

可能有一些同學隻關注對 COVID-19 疫情的資料分析,也想要上手試一試,但是對于如何從各個資料源擷取并處理資料不了解,又或者對 SLS 的 SQL 不是很熟練。為了幫助這部分同學友善快捷的實作資料分析,SLS 已經将疫情相關資料進行收集和規整,并且每天定時更新。你隻需要專注在資料的分析和展示,其它繁瑣的細節 SLS 都已經處理好。

資料樣例

type:  Country/Region Cases
version:  v2020-04-17T11:55:36
Last Update:  2020-04-09 01:12:20
Country/Region:  China
Country/Region (ch):  中國
LatLng:  35.000074,104.999927
Confirmed:  83798
Confirmed Hist:  [644, 923, 1409, 2079, 2882]
Confirmed Trend:  {"2020-01-23": 644, "2020-01-24": 923, "2020-01-25": 1409, "2020-01-26": 2079, "2020-01-27": 2882}
New Confirmed Hist:  [95, 279, 486, 670, 803]
New Confirmed Trend:  {"2020-01-23": 95, "2020-01-24": 279, "2020-01-25": 486, "2020-01-26": 670, "2020-01-27": 803}
Deaths:  3352
Deaths Hist:  [18, 26, 42, 56, 82]
Deaths Trend:  {"2020-01-23": 18, "2020-01-24": 26, "2020-01-25": 42, "2020-01-26": 56, "2020-01-27": 82}
Recovered:  78556
Recovered Hist:  [30, 36, 39, 49, 58]
Recovered Trend:  {"2020-01-23": 30, "2020-01-24": 36, "2020-01-25": 39, "2020-01-26": 49, "2020-01-27": 58}           

資料格式

各種疫情相關資料均放在一個日志庫 ncp 中,通過字段 type 作為類型區分:Global Cases, Country/Region Cases and Province/State Cases。通過 version 字段來标記資料版本,每一個版本都會包含完整的資料,用來實作資料的修正。

資料字段清單如下:

字段名 說明 樣例
type 資料類型 Global Cases, Country/Region Cases 或者 Province/State Cases
version 資料版本 v2020-01-26T12:30:00
Last Update 最新來源新聞釋出時間 2020-01-26 18:23
Confirmed 最新确診病例累計資料 1058
Confirmed Hist 确診病例累計資料(從2020.01.23到目前的曆史資料數組) [270, 444, 444, 549, 729, 1058]
Confirmed Trend 确診病例累計資料(從2020.01.23到目前的曆史趨勢資料字典) {"2020-01-21": 1, "2020-01-22": 1, "2020-01-23": 1, "2020-01-24": 2, "2020-01-25": 2, "2020-01-26": 3}
Recovered 最新治愈病例累計資料 42
Recovered Hist 治愈病例累計資料(從2020.01.23到目前的曆史資料數組) [0, 28, 28, 31, 32, 42]
Recovered Trend 治愈病例累計資料(從2020.01.23到目前的曆史趨勢資料字典)
Deaths 最新死亡病例累計資料 52
Deaths Hist 死亡病例累計資料(從2020.01.23到目前的曆史資料數組) [3, 17, 17, 24, 39, 52]
Deaths Trend 死亡病例累計資料(從2020.01.23到目前的曆史趨勢資料字典)
New Confirmed Hist 疑似病例現有資料(從2020.01.23到目前的曆史資料數組) [11, 0, 41, 0, 56, 127]
New Confirmed Trend 疑似病例現有資料(從2020.01.23到目前的曆史趨勢資料字典) {"2020-01-21": 1, "2020-01-22": 1, "2020-01-23": 1, "2020-01-24": 2, "2020-01-25": 2, "2020-01-26": 7}

分析展示

SLS 提供大規模日志實時

查詢與分析

能力,其擁有以下優勢:

  • 實時:寫入後可以立即被分析。
  • 快速:一秒内,查詢(5個條件)可處理10億級資料,分析(5個次元聚合+GroupBy)可聚合億級别資料。
  • 靈活:可以改變任意查詢和分析條件,實時擷取結果。
  • 生态豐富:除控制台提供的報表、儀表盤、快速分析等功能外,還可以與Grafana、DataV、Jaeger等産品無縫對接,并支援Restful API,JDBC等協定。

如上文所說,SLS 提供的疫情資料通過 version 字段來标記資料版本。為了查詢出最新版本的資料,可以通過以下 SQL:

type : "Province/State Cases" | select .... from log l right join (select max(version) as version from log) r on  l.version =  r.version           

在預定義的疫情大盤中,每一個儀表盤對應的都是一個 SQL 分析。以 Global Cases Trend(全球疫情趨勢)為例,為了分析全球累計确診、死亡、治愈,以及現存病例發展趨勢,我們可以通過以下 SQL 查詢,并将結果圖示儲存為儀表盤即可,友善快捷。

type : "Global Cases" | select date_format(date_parse(l.a, '%Y-%m-%d'), '%b %e') as "Date", l.b as "Confirmed", l.b - r2.b - r6.b as "Active Confirmed", r2.b as "Deaths", r6.b as "Recovered"  from  (select  a,b    from log l right join (select max(version) as version from log) r on  l.version =  r.version, unnest( cast( json_parse("Confirmed Trend")   as map(varchar, bigint) ) ) as  t(a,b)) l left join (select  a,b    from log l right join (select max(version) as version from log) r on  l.version =  r.version, unnest( cast( json_parse("New Confirmed Trend")   as map(varchar, bigint) ) ) as  t(a,b)) r on l.a = r.a left join (select  a, b    from log l right join (select max(version) as version from log) r on  l.version =  r.version, unnest( cast( json_parse("Deaths Trend")   as map(varchar, bigint) ) ) as  t(a, b)) r2 on l.a = r2.a left join (select  a, b    from log l right join (select max(version) as version from log) r on  l.version =  r.version, unnest( cast( json_parse("Recovered Trend")   as map(varchar, bigint) ) ) as  t(a, b)) r6 on l.a = r6.a  order by l.a           

使用方法

登入阿裡雲日志服務控制台,可以看到疫情分析的應用:

新冠病毒肺炎疫情資料分析 APP 釋出 國際疫情大盤簡介亮點資料使用方法

點選進入進行首次配置(一次性,後續資料會自動同步),之後即可直接使用日志服務提供的多份資料大盤,開啟互動式分析、可視化之旅。

繼續閱讀