溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

發(fā)布時(shí)間:2021-11-10 16:31:47 來源:億速云 閱讀:136 作者:柒染 欄目:云計(jì)算

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

隨著目前企業(yè)數(shù)字化轉(zhuǎn)型的推進(jìn),業(yè)務(wù)系統(tǒng)產(chǎn)生了大量數(shù)據(jù),如何利用好這些海量數(shù)據(jù)成為企業(yè)IT運(yùn)營面臨的一大難題。從傳統(tǒng)的方案來看,需要企業(yè)自行架設(shè)Hadoop集群,由于大數(shù)據(jù)分析對(duì)數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)運(yùn)算需求都比較高,所以硬件配置的需求也很高,導(dǎo)致整個(gè)項(xiàng)目成本高昂。

在使用了云服務(wù)器以后,可以解決本地?cái)?shù)據(jù)中心的運(yùn)維難題,并通過高標(biāo)準(zhǔn)高規(guī)格的硬件和數(shù)據(jù)中心提升了整體系統(tǒng)的穩(wěn)定性。但如果只是通過云服務(wù)器來部署,僅僅是解決了服務(wù)器運(yùn)維的問題,并不能最大化的利用云端大數(shù)據(jù)分析服務(wù)的優(yōu)勢(shì)。

在AWS上除了提供托管Hadoop服務(wù)的EMR之外,還提供了很多大數(shù)據(jù)相關(guān)的分析服務(wù),例如數(shù)據(jù)倉庫Redshift,實(shí)時(shí)數(shù)據(jù)處理Kinesis,ETL服務(wù)Glue等。

在AWS托管的服務(wù)上,您只需要為使用的資源付費(fèi),按需付費(fèi)模式避免本地?cái)?shù)據(jù)中心建設(shè)中的重資產(chǎn)投入,也避免了云服務(wù)器空閑時(shí)間導(dǎo)致的資源浪費(fèi)。

今天我們來演示一種快速進(jìn)行大數(shù)據(jù)分析的場景,無需架設(shè)服務(wù)器,實(shí)時(shí)使用SQL語言進(jìn)行數(shù)據(jù)查詢。

背景和挑戰(zhàn)

全球氣候分析對(duì)于研究人員評(píng)估氣候變化對(duì)地球自然資本和生態(tài)系統(tǒng)資源的影響至關(guān)重要。 這項(xiàng)活動(dòng)需要高質(zhì)量的氣候數(shù)據(jù)集,這可能是具有挑戰(zhàn)性的工作,因?yàn)樗鼈兊囊?guī)模和復(fù)雜性。

為了對(duì)他們的發(fā)現(xiàn)有信心,研究人員必須對(duì)他們研究的氣候數(shù)據(jù)集的來源有信心。 例如,研究人員可能會(huì)試圖回答這樣的問題: 某個(gè)特定糧食生產(chǎn)區(qū)的氣候變化是否會(huì)影響糧食安全? 他們必須能夠輕松地查詢權(quán)威和管理數(shù)據(jù)集。

美國國家環(huán)境信息中心(NCEI)維護(hù)著一個(gè)氣候數(shù)據(jù)集,這個(gè)數(shù)據(jù)集是基于全球氣象站的觀測(cè)數(shù)據(jù)。 它是《全球歷史氣候網(wǎng)絡(luò)日?qǐng)?bào)》(GHCN-D)ーー一個(gè)地面站每日天氣摘要的中央儲(chǔ)存庫。 它由數(shù)以百萬計(jì)的有質(zhì)量保證的觀測(cè)數(shù)據(jù)組成,每天更新。

研究人員通過一個(gè)按年分隔存儲(chǔ)的FTP服務(wù)器,以CSV格式提供天氣數(shù)據(jù)。按年組織意味著一份完整的檔案需要超過255個(gè)文件,傳統(tǒng)上,一個(gè)研究人員要研究這個(gè)數(shù)據(jù),需要把整個(gè)數(shù)據(jù)都下載到本地,為了保證使用最新的數(shù)據(jù)進(jìn)行分析,他們必須每天重復(fù)下載這些數(shù)據(jù)。

解決方案

通過AWS與NOAA的大數(shù)據(jù)合作項(xiàng)目,現(xiàn)在可以在 AWS 上獲得 GHCN d 數(shù)據(jù)集的每日快照。 這些數(shù)據(jù)可以通過 Amazon S3 bucket 公開訪問。已這種方式獲取數(shù)據(jù)有以下幾個(gè)好處:

  1. 這些數(shù)據(jù)可以通過S3在全球范圍內(nèi)進(jìn)行訪問,用戶無需完整下載數(shù)據(jù)才能使用,每個(gè)人都可使用相同的一致的副本。

  2. 減少了分析的時(shí)間,通過我們本次演示的Athena和Insight服務(wù),可以立即開始分析

  3. 研究的成本降低了,研究人員無需架設(shè)服務(wù)器和Hadoop集群,一旦分析完成,可以隨時(shí)關(guān)閉資源

本篇文章展示了一個(gè)使用Amazon S3,Amazon Athena,AWS Glue和Amazon QuickSight的工作流程,演示了人們從這個(gè)數(shù)據(jù)集中獲取洞察力的速度。

本次工作流遵循以下工作步驟:

  • 從NOAA桶中提取數(shù)據(jù)文件,并將數(shù)據(jù)作為表格提供

  • 使用SQL查詢表中的數(shù)據(jù)

  • 演示如何通過查詢創(chuàng)建表并將這些表存儲(chǔ)在Amazon S3私有存儲(chǔ)桶中來加速分析

  • 將數(shù)據(jù)做可視化便于展示

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

工作流程

  1. 提取年度.csv文件并將其添加到Athena的表中

  2. 提取站點(diǎn)數(shù)據(jù)并將其添加到Athena的一個(gè)單獨(dú)的表格

年度文件提取

完整的每日天氣觀測(cè)數(shù)據(jù)按年份組織在 Amazon S3桶的一個(gè)文件夾中。 Csv 格式。 數(shù)據(jù)的路徑是 s3://noaa-ghcn-pds/csv/ 。

每個(gè)文件都以1763年開始的年份命名.csv并且存儲(chǔ)直到當(dāng)前年份。

進(jìn)入Athena控制臺(tái),點(diǎn)擊AWS Glue Data Catalogj進(jìn)入Glue控制臺(tái),在右側(cè)選擇表菜單,選擇手動(dòng)添加表

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

設(shè)置一個(gè)表名稱并添加一個(gè)數(shù)據(jù)庫

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

再下一步選擇另一個(gè)賬戶的其他路徑,輸入NOAA的公共存儲(chǔ)桶位置 s3://noaa-ghcn-pds/csv/ 。

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

接下來定義Schema

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

添加以下列,使用string類型(字符串類型)
? id
? year_date
? element
? data_value
? m_flag
? q_flag
? s_flag
? obs_time

添加好后點(diǎn)擊完成,返回到Athena控制臺(tái),可以在左側(cè)看到創(chuàng)建好的表,這里有些準(zhǔn)備工作要做。在運(yùn)行我們的第一個(gè)Athena查詢之前,要設(shè)置一個(gè)S3存儲(chǔ)桶用于存放查詢結(jié)果

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

與此同時(shí),我們也創(chuàng)建一些文件夾用于數(shù)據(jù)存放

  1. [your_bucket_name]/stations_raw/

  2. [your_bucket_name]/ghcnblog/

  3. [your_bucket_name]/ghcnblog/stations/

  4. [your_bucket_name]/ghcnblog/allyears/

  5. [your_bucket_name]/ghcnblog/1836usa/

設(shè)置好之后,我們可以使用表預(yù)覽來創(chuàng)建一條查詢語句

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

運(yùn)行查詢可以看到我們的表中的數(shù)據(jù)

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

使用CATS加速查詢

在剛才的查詢中我們可以看到查詢語句運(yùn)行的速度不是很快,我們需要?jiǎng)?chuàng)建一個(gè)表使用CREATE TABLE AS SELECT (CTAS)來加速查詢

原因是在這個(gè)過程中,我們只提取一次數(shù)據(jù),并將提取的數(shù)據(jù)以列格式(Parquet)存儲(chǔ)在私有的 Amazon S3 bucket 中

為了說明速度的提高,這里有兩個(gè)例子:

  • 一個(gè)查詢計(jì)算所有不同的 id,也就是唯一的氣象站,大約需要55秒,掃描大約88gb 的數(shù)據(jù)。

  • 對(duì)轉(zhuǎn)換后的數(shù)據(jù)進(jìn)行同樣的查詢大約需要13秒鐘,并掃描大約5gb 的數(shù)據(jù)。

接下來是步驟:

  1. 打開Athena控制臺(tái)

  2. 創(chuàng)建一條新的查詢語句,并把其中的存儲(chǔ)桶名稱替換成你自己的

/*converting data to Parquet and storing it in a private bucket*/
CREATE table ghcnblog.tblallyears_qa
WITH (
  format='PARQUET', external_location='s3://[your-bucket-name]/ghcnblog/allyearsqa/'
) AS SELECT * FROM ghcnblog.tblallyears
WHERE q_flag = '';

注意將相應(yīng)桶名稱和表名稱換成你剛才創(chuàng)建的。

運(yùn)行后會(huì)看到有一個(gè)新的表出現(xiàn)在左側(cè)的庫里,接下來我們將會(huì)在這個(gè)新的表上繼續(xù)工作

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

提取數(shù)據(jù)并把它添加到Athena的表中

站點(diǎn)文本文件包含有關(guān)氣象站的信息,例如位置、國籍和 ID。 這些數(shù)據(jù)保存在一個(gè)獨(dú)立的文件中,不同于每年的觀察數(shù)據(jù)。 我們需要導(dǎo)入這些數(shù)據(jù)來觀察天氣觀測(cè)的地理分布。 雖然處理這個(gè)文件有點(diǎn)復(fù)雜,但是將這些數(shù)據(jù)導(dǎo)入Athena的步驟與我們已經(jīng)完成的相似。

為了導(dǎo)入這些數(shù)據(jù)我們將采取以下步驟:
1.下載 ghcnd-stations text file.
2.使用一個(gè)表格編輯器,例如Excel打開這個(gè)文件
3.另存為CSV文件
4.將這個(gè)csv文件上傳到之前建立的 [your_bucket_name]/stations_raw/文件夾
5.使用Glue添加表格,就像我們之前做的那樣

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

在添加列步驟添加以下列
? id
? latitude
? longitude
? elevation
? state
? name
? gsn_flag
? hcn_flag
? wmo_id

點(diǎn)擊完成后我們看下表預(yù)覽,可以看到數(shù)據(jù)已經(jīng)導(dǎo)入成功

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

6.接下來依然使用CATS將數(shù)據(jù)存儲(chǔ)為parquet格式

/*converting data to Parquet and storing it in a private bucket*/
CREATE table ghcnblog.tblghcnd_stations_qa
WITH (
  format='PARQUET', external_location='s3://athena-cx-bucket/ghcnblog/stations/'
) AS SELECT * FROM ghcnblog.tblghcnd_stations

至此,我們已經(jīng)準(zhǔn)備好了數(shù)據(jù)并導(dǎo)入到Athena之中
簡單數(shù)據(jù)分析
接下來我們將演示幾個(gè)數(shù)據(jù)分析的例子

1.查詢從1763年以來觀測(cè)點(diǎn)的數(shù)量

SELECT count(*) AS Total_Number_of_Observations
FROM ghcnblog.tblallyears_qa;

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

2.查詢地面站的數(shù)量

SELECT count(*) AS Total_Number_of_Stations
FROM ghcnblog.tblghcnd_stations_qa;

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

3.地球平均氣象參數(shù)

下圖顯示了計(jì)算自1763年以來地球平均最高溫度(攝氏度)、平均最低溫度(攝氏度)和平均降雨量(毫米)查詢。 在查詢中,我們必須將數(shù)據(jù)值從 String 變量轉(zhuǎn)換為 Real 變量。 我們還必須除以10,因?yàn)闇囟群徒邓康臏y(cè)量值,是它們各自單位的十分之一。

有關(guān)這些細(xì)節(jié)和元素代碼(TMIB、 TMAX 和 PRCP)的詳細(xì)信息,請(qǐng)參閱自述文件。

SELECT element,
         round(avg(CAST(data_value AS real)/10),2) AS value
FROM ghcnblog.tblallyears_qa
WHERE element IN ('TMIN', 'TMAX', 'PRCP')
GROUP BY  element;

如果我們可以在這個(gè)數(shù)據(jù)集上運(yùn)行簡單的查詢(比如這個(gè)查詢) ,并接受結(jié)果是正確的,那將會(huì)非常方便。 前面的查詢假設(shè)自1763年以來,全世界的氣象站均勻平均地分布。 事實(shí)上,氣象站的數(shù)量和分布隨時(shí)間而變化。

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

4.可視化顯示地球上氣象站的數(shù)量增長情況

接下來我們要引入Amazon QuickSight.進(jìn)行數(shù)據(jù)可視化展示,在實(shí)驗(yàn)前您必須配置好QuickSight,包含注冊(cè),授權(quán)QuickSight訪問Athena和S3。

  1. 打開QuickSight控制臺(tái)

  2. 點(diǎn)擊最右上角,賬戶菜單選擇管理QuickSight

  3. 選擇安全性和權(quán)限,確保連接了S3和Athena

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

接著返回主菜單,選擇新分析,然后選擇新數(shù)據(jù)集,在下方數(shù)據(jù)源里選擇Athena,輸入我們?cè)贏thena創(chuàng)建的數(shù)據(jù)庫名字ghcnblog,然后點(diǎn)擊創(chuàng)建數(shù)據(jù)源

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

選擇使用自定義SQL,輸入以下語句

SELECT DISTINCT id AS numberofstations,
substr(year_date,1,4) as year
FROM ghcnblog.tblallyears_qa
GROUP BY substr(year_date,1,4), id
ORDER BY substr(year_date,1,4)

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

選擇確認(rèn)查詢,并選擇直接查詢數(shù)據(jù),點(diǎn)擊Visualize,在可視化圖表里選擇折線圖,把year數(shù)據(jù)作為X軸,把number_of_stations 作為值,即可得到一張全球氣象站數(shù)量的增長曲線圖

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

美國氣象觀測(cè)站數(shù)量分析

1836年數(shù)據(jù)集中美國第一次設(shè)立氣象站。 為了深入了解美國觀測(cè)的發(fā)展,我們從主數(shù)據(jù)源(tblallyears qa)中提取了美國數(shù)據(jù)的子集。 從1836年到2016年,這個(gè)數(shù)據(jù)集每30年收集一次數(shù)據(jù)。 此查詢生成一個(gè)大數(shù)據(jù)集。 為了提高性能,使用前面描述的過程將查詢保存為存儲(chǔ)在 Amazon S3 bucket 中的表。 在Athena中執(zhí)行以下語句。

CREATE TABLE ghcnblog.tbl1836every30thyear
WITH (
  format='PARQUET',
  external_location='s3://[your-bucket-name]/ghcnblog/1836every30years/'
) AS
SELECT TA.id as id, substr(TA.year_date,1,4) as year, TS.state, CAST(TS.longitude as real) as longitde, CAST(TS.latitude as real) as latitude, element, CAST(data_value as real) as data_value
FROM "ghcnblog".tblallyears_qa as TA, "ghcnblog".tblghcnd_stations_qa as TS
WHERE substr(TA.year_date,1,4) IN ('1836', '1866', '1896', '1926', '1956', '1986', '2016')
AND substr(TA.id,1,2) = 'US'
AND state <> 'PI'
AND TRIM(TA.id) = TRIM(TS.id)
GROUP BY TA.id, substr(TA.year_date,1,4), state, longitude, latitude, element, data_value;

然后在QuickSight中創(chuàng)建一個(gè)新的分析,使用創(chuàng)建好的新表作為數(shù)據(jù)源
并使用以下自定義SQL

SELECT DISTINCT(id) AS number_of_stations, year, state
FROM ghcnblog.tbl1836every30thyear
GROUP BY year, id, state
ORDER BY year

在接下來的可視化界面里,選擇地球上的點(diǎn)作為圖像類型,地理位置數(shù)據(jù)選擇state,size選擇氣象站數(shù)量,并使用總數(shù)統(tǒng)計(jì),顏色選擇年份

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

通過自定義SQL也可以計(jì)算出美國每個(gè)州的平均溫度等數(shù)據(jù)

如何使用Amazon Athena和 Amazon QuickSight進(jìn)行天氣數(shù)據(jù)可視化分析

總結(jié)

通過本文演示,我們了解到通過Athena,Glue和QuickSight這個(gè)產(chǎn)品組合,可以快速的構(gòu)建一個(gè)可視化大數(shù)據(jù)分析平臺(tái),并且無需架設(shè)服務(wù)器和維護(hù)Hadoop集群。對(duì)于快速驗(yàn)證分析數(shù)據(jù),作出商業(yè)決策是非常便利的。

同時(shí)這些服務(wù)的計(jì)費(fèi)也都是通過分析的數(shù)據(jù)量來收取,大大降低了資源的閑置成本,在數(shù)據(jù)分析得出結(jié)果后還可以把數(shù)據(jù)進(jìn)一步存放到成本更低的S3 Glacier中歸檔,進(jìn)一步節(jié)省成本。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI