原创 MapReduce優化----兩點瓶頸

mapreduce程序效率的瓶頸在於兩點:   1:計算機性能   2:I/O操作優化 優化無非包括時間性能和空間性能兩個方面,存在一下常見的優化策略:   1:輸入的文件儘量採用大文件     衆多的小文件會導致map數量衆

原创 concat,concat_ws,group_concat的使用方法

concat函數 使用方法: CONCAT(str1,str2,…) 返回結果爲連接參數產生的字符串。如有任何一個參數爲NULL ,則返回值爲 NULL。 注意: 如果所有參數均爲非二進制字符串,則結果爲非二進制字符串。  如果自變

原创 MapReduce優化----hadoop的管道思想

摘要:在Hadoop系統的實現中,Map端的輸出數據首先被溢寫入本地磁盤,當本機任務完成後通知JobTracker,然後Reduce端在得到 JobTracker的通知後會發出HTTP請求,利用複製的方式從相應的Map端拉回其 1 Had

原创 MapReduce優化----宏觀hadoop

Google提出了一個令人興奮的架構。MapReduce把任務分解成小任務,這些小任務可以在普通PC集羣上並行執行。這種架構的一種開源實現是yahoo!的hadoop。目前國內在用此架構的公司爲百度,淘寶,騰訊等,國外Amazon,Fa

原创 MapReduce優化----幾點根本設置

在編寫MapReduce應用程序時,除了最基本的Map模塊、Reduce模塊和驅動方法之外,用戶還可以通過一些技巧優化作業以提高其性能。對用戶來說,合理地在MapReduce作業中對程序進行優化,可以極大地提高作業的性能,減少作業執行時間

原创 hive+hbase設計細節

前言 近半年本人主要在倒騰數據,遇到海量數據去重的難題,曾經嘗試過各種hivesql,然而隨着數據量逐漸增大,處理耗時也越來越長,各種方案一一破產。2012年11月份提過使用HBase唯一主鍵的方案,隨即做了相關預研(參看hive&hb

原创 Hive metastore三種存儲方式

測試環境下Hive總出問題,metastore的配置有問題。抽了點時間,把Hive的meta數據幾種存儲方式都配置了下。Hive的meta數據支持以下三種存儲方式,其中兩種屬於本地存儲,一種爲遠端存儲。遠端存儲比較適合生產環境。Hiv

原创 MapReduce優化----參數的解釋以及設置

Map階段優化 參數:io.sort.mb(default 100) 當map task開始運算,併產生中間數據時,其產生的中間結果並非直接就簡單的寫入磁盤。 而是會利用到了內存buffer來進行已經產生的部分結果的緩存, 並在內存bu

原创 MapReduce學習之二

上一次是在windows上面搭建了hadoop環境,然後並在上面跑了mapreduce程序(wordcount),這一次在linux環境中來搭建hadoop環境,並安裝eclipse便於今後開發。 1:安裝虛擬機,裝linux系統    

原创 Hive Partition簡介

一、背景 1、在Hive Select查詢中一般會掃描整個表內容,會消耗很多時間做沒必要的工作。有時候只需要掃描表中關心的一部分數據,因此建表時引入了partition概念 2、分區表指的是在創建表時指定的partition的分區空間。

原创 MapReduce優化----6個基礎知識

MapReduce任務的優化 相信每個程序員在編程時都會問自己兩個問題“我如何完成這個任務”,以及“怎麼能讓程序運行得更快”。同樣,MapReduce計算模型的多次優化也是爲了更好地解答這兩個問題。 MapReduce計算模型的優化涉及了

原创 MapReduce優化----map和reduce的槽數的設定

1、修改mapreduce中map和reduce的槽數  因爲hadoop 的集羣所有機器不可能完全硬件配置一樣,那麼不同節點機器負載也不一樣,不同節點上併發的最大map 和reduce數量也不一樣。 可以先試驗下將每臺tasktrack

原创 hbase MapReduce程序樣例入門

1、先看一個標準的hbase作爲數據讀取源和輸出源的樣例: View Code JAVA 1 2 3 4 5 6 7 8 Configuration conf = HBaseConfiguration.create(); Job

原创 MapReduce優化----優化方案着手點

Hadoop/MapReduce 優化方案 從三個方面着手優化 : 1. hadoop配置 2. 設計mapred/job 3. 代碼級別. 4. 改造hadoop 一. conf/hadoop-site.xml配置. 經驗要求高, 特別

原创 java 時間的操作

java代碼: //由今天的時間獲取昨天的時間 public static String getSpecifiedDayBefore(String specifiedDay) {Calendar c = Calendar.getInsta