面向數(shù)據(jù)工程師的十大構建工具
譯文【51CTO.com快譯】云工具的增加和需要處理大量原始數(shù)據(jù)促使市場對數(shù)據(jù)工程師的需求大增。數(shù)據(jù)工程師構建數(shù)據(jù)管道,還是數(shù)據(jù)基礎架構設計和算法開發(fā)的主力。數(shù)據(jù)工程師對于提高數(shù)據(jù)對公司的用途至關重要。
為了構建如此豐富的數(shù)據(jù)基礎架構,數(shù)據(jù)工程師需要結合不同的編程語言、數(shù)據(jù)管理工具、數(shù)據(jù)倉庫以及用于數(shù)據(jù)處理、數(shù)據(jù)分析和人工智能/機器學習的全套其他工具。
本文介紹數(shù)據(jù)工程師用于構建高效數(shù)據(jù)基礎架構的十大工具。
1. Python
Python是一種流行的通用編程語言,易于學習,已成為數(shù)據(jù)工程界的事實標準。
由于Python支持多種使用場景,尤其用于構建數(shù)據(jù)管道,稱得上是編程語言界的瑞士軍刀。數(shù)據(jù)工程師使用Python編寫ETL框架、API交互、自動化以及數(shù)據(jù)處理任務(比如調整、聚合和連接不同的數(shù)據(jù)源)。
簡單的語法和豐富的第三方庫是Python的其他優(yōu)點。最重要的是,這種編程語言有助于縮短開發(fā)時間,因而減少了公司的支出。如今,Python已是超過三分之二的數(shù)據(jù)工程師招聘崗位中一門必須知道的編程語言。
2. SQL
查詢是所有數(shù)據(jù)工程師的基礎。SQL(結構化查詢語言)是數(shù)據(jù)工程師用來創(chuàng)建業(yè)務邏輯模型、執(zhí)行復雜查詢、提取關鍵性能指標以及構建可重用數(shù)據(jù)結構的關鍵工具之一。
SQL是最重要的工具之一,可以使用查詢和數(shù)據(jù)轉換技術,幫助訪問、更新、插入、操作和修改數(shù)據(jù)。
3. PostgreSQL
PostgreSQL是世界上最流行的開源關系數(shù)據(jù)庫。PostgreSQL受歡迎的眾多原因之一是其活躍的開源社區(qū)——它也不是像DBMS或MySQL這些由公司主導的開源工具。
PostgreSQL輕量級、高度靈活、功能強大,使用對象關系模型構建而成。它提供廣泛的內置和用戶定義功能、龐大的數(shù)據(jù)容量以及可信賴的數(shù)據(jù)完整性。PostgreSQL專為處理大型數(shù)據(jù)集而設計,同時提供高容錯性,是數(shù)據(jù)工程工作流程的理想選擇。
4. MongoDB
MongoDB是流行的NoSQL數(shù)據(jù)庫。它易于使用,高度靈活,可以大規(guī)模存儲和查詢結構化和非結構化數(shù)據(jù)。NoSQL數(shù)據(jù)庫(比如MongoDB)因能夠處理非結構化數(shù)據(jù)而大受歡迎。不像采用僵硬模式的關系數(shù)據(jù)庫(SQL),NoSQL數(shù)據(jù)庫要靈活得多,并以易于理解的簡單形式存儲數(shù)據(jù)。
分布式鍵值存儲、面向文檔的NoSQL功能和MapReduce計算功能,這些功能使MongoDB成為處理海量數(shù)據(jù)的上佳選擇。數(shù)據(jù)工程師常處理大量未處理過的原始數(shù)據(jù),使MongoDB成為保留數(shù)據(jù)功能并支持橫向擴展的典型選擇。
5. Apache Spark
如今的企業(yè)了解捕獲數(shù)據(jù)并使數(shù)據(jù)在組織內快速可用的重要性。流處理讓您可以實時查詢連續(xù)的數(shù)據(jù)流,包括傳感器數(shù)據(jù)、網站上的用戶活動、來自物聯(lián)網設備的數(shù)據(jù)及金融交易數(shù)據(jù)等數(shù)據(jù)。Apache Spark代表了這樣一種流行的流處理實現(xiàn)。
Apache Spark是一種開源分析引擎,以大規(guī)模數(shù)據(jù)處理功能出名,它支持多種編程語言,包括Java、Scala、R和Python。Spark可以在微批中處理TB級數(shù)據(jù)流,并使用內存中緩存和經過優(yōu)化的查詢執(zhí)行。
6. Apache Kafka
與Apache Spark相似,Apache Kafka是一種開源事件流平臺,可用于數(shù)據(jù)同步、消息傳遞和實時數(shù)據(jù)流等應用環(huán)境。Apache Kafka因構建ELT管道而流行,并廣泛用作數(shù)據(jù)收集和提取工具。
Apache Kafka是一種簡單、可靠、可擴展的高性能工具,可以快速將大量數(shù)據(jù)流式傳輸?shù)侥繕恕?/p>
7. Amazon Redshift
在現(xiàn)代數(shù)據(jù)基礎架構中,數(shù)據(jù)倉庫不僅限于數(shù)據(jù)存儲角色。Amazon Redshift是個典例,這是一種完全托管的基于云的數(shù)據(jù)倉庫,用于大規(guī)模存儲和分析數(shù)據(jù)。
Redshift易于使用標準SQL,跨數(shù)據(jù)倉庫、操作數(shù)據(jù)庫和數(shù)據(jù)湖,查詢和合并大量結構化和半結構化數(shù)據(jù)。它還使數(shù)據(jù)工程師可以在數(shù)小時內輕松集成新數(shù)據(jù)源,從而縮短了獲取洞察力的時間。
8. Snowflake
Snowflake是一種流行的基于云的數(shù)據(jù)倉庫平臺,為企業(yè)提供單獨的存儲和計算選項、支持第三方工具和數(shù)據(jù)克隆等。Snowflake可以輕松地提取、轉換和交付數(shù)據(jù)以獲取更深入的洞察力,有助于簡化數(shù)據(jù)工程活動。
有了Snowflake,數(shù)據(jù)工程師不必擔心管理基礎架構和并發(fā)處理等問題,可以專注于其他有價值的活動以交付數(shù)據(jù)。
9. Amazon Athena
Amazon Athena是一種交互式查詢工具,可幫助您分析存儲在Amazon S3中的非結構化、半結構化和結構化數(shù)據(jù)。您可以使用Athena,利用標準SQL對結構化和非結構化數(shù)據(jù)執(zhí)行臨時查詢。
Athena完全采用無服務器技術,這意味著無需管理或搭建任何基礎架構。使用Athena,您不需要復雜的ETL作業(yè)即可將數(shù)據(jù)準備用于分析。這使數(shù)據(jù)工程師或擁有SQL技能的任何人都可以輕松地立即分析大型數(shù)據(jù)集。
10. Apache Airflow
隨著現(xiàn)代數(shù)據(jù)工作流程中出現(xiàn)多種云工具,管理不同團隊之間的數(shù)據(jù)并充分發(fā)揮數(shù)據(jù)的潛力變得越來越困難。作業(yè)編排和調度工具竭力消除數(shù)據(jù)孤島、簡化工作流程,并使重復性任務自動化,以便IT部門可以快速高效地行動。Apache Airflow向來是數(shù)據(jù)工程師們用于編排和調度數(shù)據(jù)管道的青睞的工具。
Apache Airflow通過高效的任務調度,幫助您構建現(xiàn)代數(shù)據(jù)管道。它提供了豐富的用戶界面,可以輕松地顯示生產環(huán)境中運行的管道、監(jiān)測進度,并在需要時排查問題。
原文標題:Top 10 Tools for Data Engineers,作者:Savia Lobo
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】