什麼是 Amazon Athena 及其工作原理?
已發表: 2021-10-26分析數據的過程在本質上有些複雜,並且包括用於簡化許多可用工具的多個步驟。 亞馬遜通過提供名為 Amazon Athena 的服務來幫助分析數據。
Amazon Athena 是一種無服務器分析工具,允許用戶使用標準 SQL 語法從 S3 查詢數據。 作為雲計算領域的領導者,AWS 提供範圍廣泛的服務,與本地架構相比,這些服務可提供具有競爭力的性能和用於運行工作負載的經濟實惠的解決方案。
AWS Athena 是分析領域的一項服務,專注於使用標準 SQL 語句檢索存儲在 S3 存儲桶中的靜態數據。 它可以被認為是一個強大的工具,可以幫助客戶獲得關於存儲在 S3 上的數據的重要見解,因為它是無服務器的並且沒有用於管理的基礎架構。
什麼是亞馬遜雅典娜?
亞馬遜於 2016 年 11 月 20日推出了 Athena 作為一項重要服務。它是作為無服務器查詢服務推出的,旨在使用存儲在 Amazon S3 中的標準 SQL 更簡單地分析數據。 只需在 AWS 管理控制台中單擊幾下,客戶就可以輕鬆地將 Amazon Athena 指向存儲在 Amazon S3 中的數據,同時使用標準 SQL 運行查詢以在幾秒鐘內生成結果。
借助 Amazon Athena 的交互式分析服務,無需設置或管理基礎設施,客戶只需為他們想要運行的查詢付費。 它在並行執行查詢時自動擴展,即使使用龐大的數據集和復雜的查詢,最終也能提供快速的結果。
Athena 使用稱為 Presto 的分佈式 SQL 引擎,它在運行 SQL 查詢時很有用。 它基於稱為 Hive 的流行開源技術,進一步有助於存儲結構化、非結構化和半結構化數據。 Apache Hive 數據倉庫軟件有助於使用 SQL 對駐留在分佈式存儲中的大型數據集進行讀取、寫入和管理。
有一個簡單的數據管道,其中來自不同來源的數據被提取並轉儲到 S3 存儲桶中。 這是原始數據,這意味著尚未對數據應用任何轉換。 此時,Amazon Athena 可用於在分析時連接到 S3 中的此數據。 這是一個簡單的過程,因為您不需要設置任何數據庫或外部工具來查詢原始數據。 完成分析並找出所需結果後,可以使用 EMR 集群運行複雜的分析數據轉換,同時對數據進行清理、處理和存儲。
為什麼要使用 Athena?
Athena 用戶可以使用 AWS 密鑰管理服務管理的密鑰查詢加密數據,並對查詢結果進行加密。 事實上,Athena 還允許跨賬戶訪問其他用戶擁有的 S3 存儲桶。 它使用託管數據目錄來存儲與搜索 Amazon S3 數據相關的信息和架構。
總而言之,交互式查詢服務實際上是一種分析工具,可以幫助組織快速分析存儲在 Amazon S3 中的重要數據。 它可用於處理非結構化、結構化和半結構化數據集。 使用 Athena,可以為數據集創建動態查詢。 它與 AWS Glue 一起使用,為您提供了一種在 S3 中存儲元數據的更好方法。
使用 AWS Cloud Formation 和 Athena,您可以使用命名查詢來命名特定查詢,然後也可以使用該名稱調用它。 這是 AWS 的一項交互式服務,數據科學家和開發人員可以使用它來查看運行查詢的表。 它有助於從 S3 獲取數據,並使用 Athena JDBC 驅動程序將其加載到不同的數據存儲中,以進行日誌存儲分析和數據倉庫事件。
AWS Athena 的工作
Amazon Athena 與 S3 數據直接關聯。 它用作運行查詢的分佈式 SQL 引擎,還使用 Apache Hive 創建和更改表和分區。 與 Athena 合作所需的一些重要觀點包括:
- 您必須擁有 AWS 賬戶
- 您應該允許您的賬戶將成本和使用情況數據導出到 S3 存儲桶中。
- 您可以準備存儲桶以供 Athena 連接。
- AWS 還會在每次寫入存儲桶時使用元數據創建清單文件。 事實上,它在稱為 Athena 的技術 AWS 計費數據存儲桶中創建了一個文件夾,其中僅包含數據。
- 為了簡化設置,也可以使用稱為 US-West-2 區域的區域。
- 最後一步是下載新用戶的憑據,因為憑據有助於間接映射到數據庫憑據。
亞馬遜還提供了一個名為 Cost Explorer 的拖放工具,它附帶一組預構建的報告,例如每月服務成本、預留實例使用情況等。如果您好奇,您應該嘗試在服務上方重新創建查詢成本和運營。 這其實也不是不可能的。 您可以在計算每個增長率、構建直方圖、計算分數等的同時對原始數據進行切片。
使用 Amazon Athena 時需要注意的其他一些注意事項包括:
定價模式
Athena 的定價超過 5 美元,用於掃描從 S3 包圍到最近的兆字節的 TB 數據,每次查詢至少 10MB。
降低成本
訣竅是減少以三種方式掃描的數據,稱為壓縮數據、使用列數據和分區數據。
雅典娜的特點
在亞馬遜提供的眾多服務中,Athena 是最好的服務之一。 它具有使其適用於數據分析的多種功能。 其中一些功能包括:
快速實施
Amazon Athena 不需要安裝。 實際上只能使用 AWS CLI 從 AWS 控制台直接訪問它。
無服務器
它是無服務器的,因此最終用戶不必擔心配置、基礎架構、擴展或故障。 雅典娜輕鬆搞定這一切。
按查詢付費
Athena 僅針對您運行的查詢向您收費,即每次查詢管理的數據量。 如果您壓縮數據並相應地格式化,您實際上可以節省很多。
安全的
使用 IAM 策略和 AWS 身份,Amazon Athena 提供對數據集的完全控制。 通過將數據存儲在 S3 存儲桶中,IAM 策略可以幫助管理對用戶的控制。
可用的
Amazon Athena 具有高可用性,用戶可以全天候執行查詢。
快的
Amazon Athena 是一種快速分析工具,因為它可以通過將查詢分解為簡單的查詢並並行運行它們並組合結果以提供所需的輸出,從而在更短的時間內執行複雜的查詢。
一體化
Athena 的最佳功能之一是它可以輕鬆與 AWS Glue 集成,從而幫助用戶創建統一的數據存儲庫。 這也有助於創建更好的數據版本控制,以及更好的表、視圖等。
聯合查詢
Amazon Athena 聯合查詢允許 Athena 對所有關係、對象、非關係和自定義數據源運行 SQL 查詢。
機器學習
開發人員可以使用 Amazon Sage Maker 在 Amazon Athena 中創建和部署機器學習模型。
AWS Athena 的優化技術
在使用雲服務時,需要注意使用盡可能少的資源的服務以及以具有成本效益的方式提供最佳結果的服務。 可以採取許多措施來優化 AWS Athena 中的查詢,從而提高整體性能並控製成本。 Amazon Athena的交互式分析服務的一些常見優化技術是:
在 S3 中對數據進行分區
在 S3 中存儲數據的最常見做法之一是根據主要維度(例如日期維度和區域維度)創建單獨的目錄進行分區。 可用於按年、月、甚至日分區,將文件存放在每天的目錄下。 另一方面,您也可以按可以存儲數據的區域為一個目錄下的類似區域進行分區。 通過分區,Athena 能夠在每個查詢中掃描更少的數據,從而使整個作業快速有效。
數據壓縮技術
在壓縮數據時,需要一個 CPU 在查詢時進行壓縮和解壓縮。 儘管有不同的壓縮技術可用,但與 Athena 一起使用的最流行的技術之一是 Apache Parquet 或 Apache ORC。 這是一種有助於使用列式數據庫的默認算法壓縮數據的技術。
簡化查詢中的 JOIN 條件
在跨多個維度查詢數據時,需要將兩個表中的數據連接起來進行分析。 加入的過程看起來很簡單,但有時很複雜。 因此,始終建議將數據量大的表放在左側,而將數據量少的表放在右側。 這是數據處理引擎可以輕鬆地將右側較小的表分發到工作節點的方式,同時從左側表中流式傳輸數據並將兩者連接起來。
在查詢中使用選定的列
這是另一種強制優化技術,可大大減少運行 Athena 查詢所花費的時間和金錢。 與從表名中指定選擇相比,始終建議在選擇查詢中明確提及某人正在對其執行分析的列的名稱。
優化查詢中的模式匹配技術
很多時候需要根據數據中的模式而不是關鍵字來查詢數據。 在 SQL 中,實現這一點的一種簡單方法是使用 LIKE 運算符,其中可以提及模式並查詢獲取再次匹配模式的數據。 在 Amazon Athena 中,可以使用 REGEX 代替 LIKE 運算符來匹配模式,因為這樣更快。
結論
隨著數據成為公司發展的重要組成部分,獲得洞察力和提取更多數據的過程變得越來越重要。 借助提供基於服務的分析服務(如 Amazon Athena)的公共雲服務,許多企業可以獲得更多洞察力,而不會出現其他分析工具可能出現的複雜情況。
作為最好的無服務器架構之一,Amazon Athena 使數據查詢易於使用、設置和快速運行。 事實上,Athena 的按使用付費模式讓整個事情都可以負擔得起運行分析。 此外,由於 Athena 與 Amazon S3 一起使用並具有出色的可擴展性、可靠性和耐用性,因此這是運行分析工作負載的最佳套件之一。
如果您在實施和使用 Amazon Athena 方面需要任何支持,請隨時與Encaptechno 的顧問聯繫。 我們擁有一支訓練有素的團隊,可以在您使用 Amazon Athena 的整個過程中為您提供廣泛的支持。