• 2019.12.08

Spark入門(二)如何用Idea運行我們的Spark項目

用Idea搭建我們的Spark環境 用IDEA搭建我們的環境有很多好處,其中最大的好處,就是我們甚至可以在工程當中直接運行、調試我們的代碼,在控制檯輸出我們的結果。或者可以逐行跟蹤代碼,瞭解spark運行的機制。因此我們選擇了idea,當然Idea不是首選,當然也可以用其他工具。因為我們的Spark […]

  • 2019.12.08

Spark入門(三)Spark經典的單詞統計

spark經典之單詞統計 準備數據 既然要統計單詞我們就需要一個包含一定數量的文本,我們這裡選擇了英文原著《GoneWithTheWind》(《飄》)的文本來做一個數據統計,看看文章中各個單詞出現頻次如何。為了便於大家下載文本。可以到GitHub上下載文本以及對應的代碼。我將文本放在項目的目錄下。 […]

  • 2019.12.08

Spark入門(四)Spark的map、flatMap、mapToPair

spark的RDD操作 在上一節Spark經典的單詞統計中,瞭解了幾個RDD操作,包括flatMap,map,reduceByKey,以及後面簡化的方案,countByValue。那麼這一節將介紹更多常用的RDD操作,並且為每一種RDD我們分解來看其運作的情況。 spark的flatMap flat […]

  • 2019.12.08

Spark入門(五)Spark的reduce和reduceByKey

reduce和reduceByKey的區別 reduce和reduceByKey是spark中使用地非常頻繁的,在字數統計中,可以看到reduceByKey的經典使用。那麼reduce和reduceBykey的區別在哪呢?reduce處理數據時有著一對一的特性,而reduceByKey則有著多對一的 […]

  • 2019.12.08

Spark入門(六)Spark的combineByKey、sortBykey

spark的combineByKey combineByKey的特點 combineByKey的強大之處,在於提供了三個函數操作來操作一個函數。第一個函數,是對元數據處理,從而獲得一個鍵值對。第二個函數,是對鍵值鍵值對進行一對一的操作,即一個鍵值對對應一個輸出,且這裡是根據key進行整合。第三個函數 […]

  • 2019.12.08

Spark實戰尋找5億次訪問中,訪問次數最多的人

問題描述 對於一個大型網站,用戶訪問量嚐嚐高達數十億。對於數十億是一個什麼樣的概念,我們這裡可以簡單的計算一下。對於一個用戶,單次訪問,我們通常會記錄下哪些數據呢? 1、用戶的id 2、用戶訪問的時間 3、用戶逗留的時間 4、用戶執行的操作 5、用戶的其餘數據(比如IP等等) 我們單單從用戶id來說 […]

  • 2019.12.08

Spark實戰搭建我們的Spark分佈式架構

Spark的分佈式架構 如我們所知,spark之所以強大,除了強大的數據處理功能,另一個優勢就在於良好的分佈式架構。舉一個例子在Spark實戰–尋找5億次訪問中,訪問次數最多的人中,我用四個spark節點去嘗試尋找5億次訪問中,次數最頻繁的ID。這一個過程耗時竟然超過40分鐘,對一個程序 […]

  • 2019.12.08

【機器學習】深度學習開發環境搭建

工欲善其事,必先利其器。首先我們需要花費一些時間來搭建開發環境。 1.安裝python。python是人工智能開發首選語言。 2.安裝virtualenv。virtualenv可以為一個python應用創建一套隔離的運行環境,避免不同版本的python或第三方庫互相影響。類似的虛擬環境還有anaco […]