全文共2048字,預計學習時長68分鐘
疫情肆虐,許多國家都發布了居家隔離令,強制要求群眾待在家裡。居家令何時解除尚未可知,該如何打發獨自在家的時間呢?除了時常遛狗外,筆者還準備了許多流媒體服務、樂高玩具、拼圖、電子遊戲和很多新技術來學習。
筆者的待學技術列表榜首是一些項目中未曾用到的技術,但在工作場合中會用到,包括Docker、Airflow 和Elasticsearch。
這些技術生態系統中的每一個都擁有穩定的社區,如果你對數據科學和機器學習感興趣,那麼每一個都值得研究。本文將對每種技術進行簡要概述,以便你決定從哪個開始研究。
什麼是Docker?
筆者曾在文章和視頻中時常見到Docker,但因為它看起來很複雜,就沒花時間深入研究。但由於這項技術廣泛應用於辦公室場合,導致筆者最終不得不使用它,並深陷其中無法自拔。
是時候盡己所能學習更多關於Docker的知識了!
Docker是可通過容器化概念和實踐來簡化並加快從開發到部署全部過程的一項技術。2013年Docker作為開源軟件發佈,現已成為一個非常受歡迎的工具。據統計,約50%的全球組織在使用容器化應用程序。這讓筆者意識到,它是一項急需技能,也是筆者頭腦“工具箱”的一大補充。
Docker接受能力、功能如此強大的原因是,它可以將一個應用程序及其依賴項打包到一個容器中,容器的內容可以在 Docker Hub上共享,並可以在任一Linux服務器上運行。這極大地簡化了部署!
Docker Hub與GitHub的相似之處在於,它們都是存儲庫。但DockerHub並不重新發布代碼文件,而是重新發布Docker的文件和容器。
容器是Docker的關鍵組成部分之一,也是筆者在進入技術領域後學到的第一件事:容器是一個標準的軟件單元,它能打包代碼及其所有依賴項,使應用程序從一個計算環境快速安全地運行到另一個計算環境。
與虛擬機(VM)不同,Docker容器不消耗虛擬化硬件所需的資源,這使其更加輕巧和靈活。為使用主機操作系統內核而設計的容器,都有獨立的用戶空間,因此多個容器可以在一臺主機上運行,如下圖所示:
還有很多待做事項,Docker也在繼續發展,一個優秀的團隊支撐著它。儘管只使用了幾天,但筆者喜歡它的易操作性。
雖然用Windows使用Docker越來越容易,但Docker是為Linux設計的,所以筆者一直在Ubuntu和CentOS上使用它。你很容易就能找到便宜的在線Linux虛擬機。
什麼是Airflow?
作為一個在Airbnb上創建的開源數據工作流程管理平臺,Airflow允許用戶通過 有向無環圖(DAGs),用Python編程方式定義和調度途徑和工作流程。它幫助定義和創新了工作流程,即代碼行業。
DAG是想要運行的所有任務集合,其組織方式反映了任務間的的關係和依賴性。
請注意以下工作流程中任務的方向依賴性:
工作流程可以通過用戶界面(UI)進行監控。它可以輕易調出記錄並查看DAG失敗的地方,這使得用戶界面非常有用。
讓Airflow如此吸引人並被數據科學界所接受的原因是,一個單一的Python腳本能被用於定義任務和依賴關係,且Airflow能管理DAGs的實際調度和執行。可以使用觸發器來運行DAGs,或者按照定義的計劃運行。因為它是Python,所以它能與其他庫和其他Python功能的使用很好地結合在一起。
為使ApacheAirflow正常運行,文檔推薦使用Pip來安裝。如在一臺Linux機器上使用,請確保使用python3-dev 軟件包正確安裝Airflow。例如,Ubuntu將是這樣的:
<code>sudo apt-get
install-y python3-dev/<code>
Airflow有一個堅實的開發社區,也是數據科學和數據工程領域的工具。如果熟悉Python並執行大量數據工程或ETL的話,它絕對值得研究。
什麼是Elasticsearch?
其核心是一個全文搜索引擎,它使用Java和ApacheLucene庫開發。它以JSON格式存儲非結構化數據(如NoSQL),是一個高度可擴展的解決方案,允許高效存儲、搜索和分析大數據。
根據數據庫引擎排名,Elasticsearch是最受歡迎的搜索引擎技術之一,這表明它是一個值得了解並能滿足需求的有價值的技能!
如尋找一個可以消磨時間的科技堆棧,彈性生態系統不只限於搜索功能。彈性堆棧由名為Kibana的數據分析平臺和名為Logstash的數據收集器和記錄引擎以及名為Beats的數據運送者集合組成。 它們通常被稱為彈性堆棧,有許多功能和工具,包括用於無監督學習的內置機器學習算法!
另一研究彈性堆棧的原因是,它可以輕鬆地與Python進行交互。彈性搜索提供了RESTAPI,你可以使用PythonRequests 庫與Elasticsearch集群進行交互。此外,API 包裝器可以使用pip進行安裝:
<code>pip
installelasticsearch/<code>
Elasticsearch是開源軟件,下載、安裝都很便捷。它可在Windows、Mac和Linux上使用。
這三種都是受歡迎的生態系統,有穩定的社區,是滿足數據科學技術堆棧中特定需求的工具。
對開發操作(Dev Ops)感興趣的話,Docker是一個非常棒的學習工具;如果關注ETL工作流程或數據工程途徑的話,Airflow是一個很好的學習工具;Elastic Stack 是一個搜索非結構化數據的強大平臺,是記錄和分析大數據的工具。對有一些Python和Linux經驗的人來說,每種技術都很容易設定。
關鍵在於你需要選擇一種,並堅持學習下去,要知道,掌握其中任何一項技術所需要的時間都不在少數。
留言點贊關注
我們一起分享AI學習與發展的乾貨
如轉載,請後臺留言,遵守轉載規範