雖然這篇mapreduce功能鄉民發文沒有被收入到精華區:在mapreduce功能這個話題中,我們另外找到其它相關的精選爆讚文章
在 mapreduce功能產品中有2篇Facebook貼文,粉絲數超過5萬的網紅軟體開發學習資訊分享,也在其Facebook貼文中提到, 學習最新的大數據技術 – Spark! 並學習使用最流行的程式語言之一 Python 來實踐 Spark! 分析大量數據的能力是當今最有價值的技術技能之一,本課程特別設計來幫助你快速掌握完成此任務的這最佳技術之一 Apache Spark ! Googleı、Facebook、Netflix、Ai...
mapreduce功能 在 軟體開發學習資訊分享 Facebook 的精選貼文
學習最新的大數據技術 – Spark! 並學習使用最流行的程式語言之一 Python 來實踐 Spark!
分析大量數據的能力是當今最有價值的技術技能之一,本課程特別設計來幫助你快速掌握完成此任務的這最佳技術之一 Apache Spark ! Googleı、Facebook、Netflix、Airbnb、Amazon、NASA 等頂尖技術公司/組織都在使用 Spark 來解決他們的大數據問題!
從這 10.5 小時的課程,你會學到
1. 一起用 Python 和 Spark 來分析大數據
2. 學習如何使用新的 Spark 2.0 DataFrame 語法
3. 實踐模擬真實世界情況的諮詢專案!
4. 以邏輯迴歸來歸類客戶流失
5. 以隨機森林 ( Random Forests ) 使用 Spark 進行分類
學習如何使用 Spark 的梯度提升決策樹 ( Gradient Boosted Trees )
6. 使用 Spark 的 MLlib 創建強大的機器學習模型
了解 DataBricks 平台!
7. 在 Amazon Web Services EC2 上設置大數據分析
8. 了解如何使用 AWS Elastic MapReduce服務!
9. 了解如何利用 Spark 環境中的 Linux 功能!
10. 使用 Spark 和自然語言處理創建垃圾郵件過濾器!
11. 使用 Spark Streaming 實時分析推文 ( Tweets )!
https://softnshare.com/spark-python-big-data-pyspark/
mapreduce功能 在 91 敏捷開發之路 Facebook 的最佳貼文
挺贊同的,在開發團隊該建立的一些共識、規範或標準,這些是新進工程師(不一定是菜鳥)最一開始該熟悉的東西。
--
我挺喜歡 codelabs 的概念,每間公司或多或少都會有自己包的 package 或 component, 應該要有針對這些東西怎麼用、何時用,有什麼限制,以及為何這樣設計,幫助新進工程師了解。
很不錯的六個原則。
https://buzzorange.com/techorange/2016/…/06/google-engineer/
——
以下是我從 Google 工程文化中學到的六個核心原則,你可以從以下各項中學習:
1. 致力共享工具和抽象(abstractions)的工程資源
從很早以前起,Google 對於整個工程組織共用的工具和抽象(abstractions),如 Protocol Buffers、MapReduce、BigTable 等方面密集地投資。 這種好好地一次把問題解決然後讓所有內部的人都能採用的態度最終獲得很高的回報。
每個團隊不用花太大的心力去考慮要使用哪些工具,有專門的工具團隊服務且專注於改善,提高工程團隊的生產力,這些改善很容易傳播給每位已在使用工具或服務的人。
和既有的工程組織(每個團隊可能使用非常不同的工具鏈)形成對比,這一理念也意味著,一旦你已經知道基礎的建構區塊後,便能很容易地理解許多專案背後的設計。這種方法的缺點是,有時你可能會被迫把你的使用案例做些調適,以配合某些特殊支援的工具,甚至它對於你目前的工作來說不是最好的。
2. 為新進工程師投資可重複使用的培訓教材
我能夠迅速在 Google 中有生產力的原因之一是因為 Google 一直以來投入大量資源投入到名為 codelabs 的培訓文件中。
Codelabs 包含了公司的核心抽象層(core abstractions),解釋了為什麼它們被如此設計,突顯程式庫中的相關片段,然後通過幾個實踐的練習驗證理解。沒有這些,我需要更多的時間來了解我能有效率工作所需要知道的眾多技術,這也意味著我的同事不得不花更多的時間向我解釋這些知識。
我在 Google Codelabs 的正面經驗強烈地啟發我後來在 Quora 的 到職流程 推動 codelabs 的決心。
3. 標準化程式設計風格
關於空格、大寫、行長、是否使用 智慧指標(smart pointers)等的每個約定可能單獨看起來微不足道,但是當你達到 Google 的規模時,具有巨大的影響。我不會是第一個承認,當程式碼審查者對我的程式碼挑三揀四,只因為我不正確地縮進一行或因添加兩個字符而超過規定的行列長度很煩的人。
但是因為每個人都遵循相同的規定,瀏覽原始碼明顯地容易許多。在交換團隊或處理跨功能專案時,將需要費點功夫來學習新團隊的規定。當你的團隊小的時候,很容易就忽略的像規定這種事,但隨著程式碼基底(codebase)和團隊成長到某個程度,需要花在變更上的力氣越來越多,你會開始意識到需要一些一致性。
如果可能,儘早規劃團隊一致的規定,或者也可直接使用 Google 開源的樣式指南(style guides)。
4. 透過程式碼審查提高程式碼品質
要求 程式碼審查 並為每個更改以程式來強制執行,減慢了迭代速度,但優化了程式碼的品質。新進工程師將由於收到他們需要的回饋,可快速掌握最佳實踐並收斂程式碼的品質到可接受的水準。
整體上有更高品質的程式碼意味著新進工程師以這品質起始建模,如此將更有可能一開始就寫出更乾淨的程式碼。 因此,程式碼審查是有助於公司擴大規模還能讓所開發的軟體維持高品質的流程。
5. 取得正確的數據(而且要很多)來解決許多問題
Google 研究部主任 Peter Norvig 經常談到「數據由不合理變有效」(註 6)(註 7)(譯註 : 經由合理化模型將許多混亂的文字、圖像和影片變成有效訊息),以解決複雜的問題。
正確的數據可以幫助你了解使用者、分析辦公室政治、解決爭議,並追踪進度。開發日誌和數據基礎架構(例如 Sawzall 和 MapReduce)使 Google 的工程師可以篩選大量數據。
6. 自動化測試以擴展你的程式碼
Google 有非常強大的單元測試文化,「測試在洗手間」是其中一個明顯的案例。幾乎每一個我所做的程式碼修改都伴隨著一個單元測試,程式碼審查人員將嚴格檢查它們。
這使得開發一個指定的變更比較慢,但也意味著成百上千的工程師可以在程式碼基底(codebase)裡相同的部分做擴充與修改,而不犧牲太多的品質或可靠性。 類似投資共享工具的作法,Google 也共享測試框架並致力最佳測試實踐的教育訓練,讓寫測試更加容易。