原创 一、迭代式mapreduce(順序鏈接)

     場景:一些複雜的任務難以用一次mapreduce處理完成,需要多次mapreduce才能完成任務。如在日誌解析系統中,會分爲拆分、session_id,、上下文三個job。 在map/reduce迭代過程中,思想還是比較簡單,

原创 Hadoop中Mapper和Reducer是單獨進程還是線程

hadoop一個節點默認起兩個map slot,請問這兩個slot是多線程嗎? hadoop-0.21.0 源碼中是這樣的: 首先看看 org.ap

原创 解決Solr對Mysql做數據導入時內存溢出的問題

轉載自:http://blog.csdn.net/yuwenruli/article/details/8426940 近日在對Mysql數據做索引的時候,由於數據量太大(百萬級),所以在索引過程中經常會內存溢出,在網上上找了不少解決的辦法

原创 HDFS --訪問(二)

Hdfs的訪問方式有兩種,第一:類似linux命令,hadoop shell。第二:java API方式。 來看第二種。第二種和第一種完成的功能是一樣的,直接上代碼,裏面一些註釋的,在測試時自行打開測試即可。 package com.w

原创 詳解MapReduce工作流程

 一、客戶端向JobTracker提交作業 這個階段要完成以下工作: 向JobTracker申請 一下新的JobID檢查是否指定了output dir,並且確認output dir不存在根據InputPath計算input split

原创 HDFS --訪問(一)

Hdfs的訪問方式有兩種,第一:類似linux命令,hadoop shell。第二:java API方式。 先看第一種。 FS Shell cat chgrp chmod chown copyFromLocal copyToLocal

原创 java中hashcode和equals方法的關係

原文鏈接:https://blog.csdn.net/whuslei/article/details/6686612 Q1:爲什麼要重寫equals方法? 在java中new出來的對象obj1,

原创 多數據源的MapReduce作業(三)--map側過濾後在reduce側聯結

   在某些情況下,SemiJoin抽取出來的小表的key集合在內存中仍然存放不下,這時候可以使用BloomFiler以節省空間。 BloomFilter最常見的作用是:判斷某個元素是否在一個集合裏面。它

原创 排序算法

排序算法---快速排序 寫給自己看的,防止忘記,儘量乾貨,初學者繞過。 快速排序採用的思想是分治思想。 給出一些無序數值,任意取一個作爲基準,基準的左邊都是比它小的,基準的右邊都是比他大的,遞歸快速排序即可。 public static

原创 動態調用動態語言之Java腳本API(理論+實踐)1

我們不需要將動態語言編譯爲 Java字節碼就可以在 Java 應用程序中使用它們。使用 Java Platform, Standard Edition 6 (Java SE)中添加的腳本包(並且向後兼容 Java SE 5),Java 代

原创 Linux curl命令參數詳解

linux curl是通過url語法在命令行下上傳或下載文件的工具軟件,它支持http,https,ftp,ftps,telnet等多種協議,常被用來抓取網頁和監控Web服務器狀態。 一、Linux curl用法舉例: 1. li

原创 Hadoop中CombineFileInputFormat詳解

在MR實踐中,會有很多小文件,單個文件產生一個mapper,資源比較浪費,後續沒有reduce邏輯的話,會產生很多小文件,文件數量暴漲,對後續的hive job產生影響。 所以需要在mapper中將多個文件合成一個split作爲輸入,Co

原创 Socket編程

主要內容: 1.        什麼是Socket? 2.        Socket基本通信模型 3.        使用基於TCP協議的Socket 4.        使用基於UDP協議的Socket 課程內容: 1.       

原创 java中的intern()

1. 首先String不屬於8種基本數據類型,String是一個對象。因爲對象的默認值是null,所以String的默認值也是null;但它又是一種特殊的對象,有其它對象沒有的一些特性。2. new String()和new Strin

原创 多數據源的MapReduce作業(一)--Reduce側的聯結

場景:實現多表的join操作。 select   customers.*,orders.* from customers join orders on customers.id =orders.id 使用DataJoin