原创 Mapreduce之InnerJoin

內連接 兩個文件 顯示兩個文件的數據 根據兩個文件的數據進行判斷 讀取每一行數據 數據長度==2 那麼就是第一個文件 長度==3那麼就是第二個文件 第一個文件使用a#開頭 第二個文件使用b#開頭 兩個文件使用相同的key value進行合

原创 linux用戶和用戶組的概念

  目錄 Linux常規操縱 : 多用戶操作 1.1 linux的用戶與用戶組理論 1.1.1 概述 1.1.2 linux的用戶分類 1.1.3 linux的用戶組 1.1.4 用戶與組的關係 1.1.5 用戶與組對linux的影響 1

原创 Hadoop 上運行基於中文分詞算法的 MapReduce 程序,進行詞頻分析。

首先安裝分析工作 sudo pip install jieba -i http://pypi.doubanio.com/simple/  需求:求一本小說裏面出現次數最多得人名 呆萌(demo)的代碼將基於 Hadoop 的 Stre

原创 網頁日誌分析項目

目錄 項目需求 數據分析 項目規劃 項目流程 項目展示   項目需求 當用戶進入公司web進行點擊,會觸發一系列的事件,這些事件對應着相應的日誌。我們需要收集用戶訪問日誌,進行清洗、儲存、展示。根據上面一系列操作我們可以對用戶的註冊人數、

原创 Spark-Shuffle

Spark-Shuffle理解      對spark任務劃分階段,遇到寬依賴會斷開,所以在stage 與 stage 之間會產生shuffle,大多數Spark作業的性能主要就是消耗在了shuffle環節,因爲該環節包含了大量的磁盤IO

原创 linux壓縮文件和解壓文件

zip: 打包 :zip something.zip something (目錄請加 -r 參數) 解包:unzip something.zip 指定路徑:-d 參數 tar: 打包:tar -cf something.tar so

原创 hive的索引機制

1)建立索引 在指定列上建立索引,會產生一張索引表(Hive的一張物理表),裏面的字段包括,索引列的值、該值對應的HDFS文件路徑、該值在文件中的偏移量; hive的索引是需要手動進行維護的       2)利用索引查詢數據 ① 在執行索

原创 AVRO表

AVRO瞭解 Avro是一個數據序列化系統,設計用於支持大批量數據交換的應用。 它的主要特點有:支持二進制序列化方式,可以便捷,快速地處理大量數據;動態語言友好,Avro提供的機制使動態語言可以方便地處理Avro數據。 當前市場上有很多類

原创 Mapreduce之Partition

Partition瞭解 Partition位置 Partition主要作用就是將map的結果發送到相應的reduce。這就對partition有兩個要求: 1)均衡負載,儘量的將工作均勻的分配給不同的reduce。 2)效率,分配速度一定

原创 Linux概述

目錄 linux爲何物 linux歷史簡介 linux重要人物 linux與windows的不同 學習linux規劃  linux爲何物? linux就是操作系統和windows一樣,linux分爲系統調用和內核兩層。     lin

原创 解決reduce拉取map數據的時候key設計的不均衡問題

什麼是數據傾斜及數據傾斜是怎麼產生? 簡單來說數據傾斜就是數據的key 的分化嚴重不均,造成一部分數據很多,大部分數據很少的局面。 舉個 word count 的入門例子,它的map 階段就是形成 (“aaa”,1)的形式,然後在redu

原创 spark概述

  目錄 1 spark 概述 1.1 Spark產生的背景 1.2 什麼是Spark 1.3 Spark歷史 1.4 爲什麼要用Spark 1.5 Spark 對比 Hadoop 1.6 Spark 對比 MapReduce 2 spa

原创 Scala-思維導圖

原创 Hive-思維導圖

原创 Mapreduce之二次排序

二次排序 二次排序,對第1個字段相同的數據,使用第2個字段進行排序。說白了就是我們有的時候需要先按照key進行排序 如果key相同的情況下再按val排序;通過一個程序實現兩次排序的玩法我們成爲是二次排序; 舉個例子,電商平臺記錄了每一用戶