原创 [Spark共同好友查找]

共同好友的概念       在一個龐大的社交網絡中,兩個互相認識的朋友之間的也會存在共同好友。在這個龐大的社交網絡總,對所有的用戶對中找到”共同好友”,這是一個複雜及有趣的事情。假設,U爲一個用戶及其所有好友的一個集合:{U1,U2,U3

原创 [Spark的TopN算法實現]

一、TopN算法    MapReduce中的TopN算法是一個經典的算法,由於每個map都只是實現了本地的TopN算法,而假設map有M個,在歸約的階段只有M x N次運算,這個結果是可以接受的並不會造成性能瓶頸。  MapReduce

原创 [使用SparkSQL操作DataFrame]

    SparkSql 是一種處理結構化模型數據的Spark模塊,它提供了一種叫做DataFrame抽象編程,它也可以作爲分佈式Sql查詢引擎, SparkSql可以從已經安裝的Hive服務中讀取數據,也可以從RDBMS 數據庫中讀取數

原创 [Spark的二次排序的實現]

二次排序原理    二次排序就是首先按照第一字段排序,然後再對第一字段相同的行按照第二字段排序,注意不能破壞第一次排序的結果。二次排序技術       假設對應的Key = K有如下值:         (K,V1), (K,V2),…,

原创 [Spark購物籃的關聯規則實現]

       購物籃分析(Market Basket Analysis,MBA)是一個商品交易中流行的數據挖掘技術,市場營銷人員和電子商務人員經常用這個技術來揭示不同商品或商品組合之間的相似度。商品數據挖掘的目標,一般是從龐大的數據集合中

原创 [Scala Shell腳本執行]

    Scala語言來自於Scalable(可伸縮的),既可以寫一些小的腳本,又可以寫一寫複雜的服務器端的程序。scala支持源文件解釋執行,jar執行,各有利弊。本文主要介紹咋Linux系統中Scala的Shell腳本,Scala源文

原创 [Hadoop合併小文件的兩種解決方案]

    在Hadoop的運行環境中,什麼文件是小文件?在Hadoop的世界中,小文件是指文件大小遠遠小於HDFS塊大小的文件。Hadoop2.0中,HDFS默認的塊大小是128MB,所以,比如2MB,7MB或9MB的文件就認爲是小文件。在

原创 [Windows下eclipse調試hadoop環境配置]

Windows的hadoop環境配置    解壓hadoop-2.5.0.zip到目錄D\Program Files\Java\hadoop-2.5.0。    配置Hadoop的環境變量:    HADOOP_HOME = D:\Pro

原创 [Spark中移動平均法的實現]

一、 基本概念       移動平均法是一種簡單平滑預測技術,它的基本思想是:根據時間序列資料、逐項推移,依次計算包含一定項數的序時平均值,以反映短期趨勢的方法。因此,當時間序列的數值由於受週期變動和隨機波動的影響,起伏較大,不易顯示出事

原创 [Scala高階函數示例]

在Scala中,可以直接將某個函數作爲參數傳入其他的函數。帶函數參數的函數由於是一個接受函數參數的函數,故被稱爲高階函數(High-Order function)。/** * Scala高階函數示例 */objectHighOrderFu

原创 [Scala隱式轉換示例]

一、隱式轉換    Scala編程語言中引入了一種叫做隱式類的新特性。隱式類指的是用implicit關鍵字修飾的類。在對應的作用域內,帶有這個關鍵字的類的主構造函數可用於隱式轉換。隱式轉換是一項強大的程序語言功能,它不僅能夠簡化程序設計,