原创 Pig 初識

Pig是什麼? Pig是一個腳本語言,可以把它看作一個並行處理大數據集的平臺,通過它可以對數據進行group、filter、sort、join等操作,有些類似於SQL,允許用戶自定義函數來處理數據。它主要運行在Hadoop集羣上,來簡化M

原创 Sqoop 初識

Sqoop是什麼? Sqoop是一個用於在Hadoop和關係型數據庫之間高效傳輸海量數據的工具,它可以把數據從關係型數據庫中導入到HDFS中,也可以把HDFS中的數據導出到關係型數據庫中。 工作機制 它是怎麼在Hadoop和關係型數據庫之

原创 MapReduce Shuffle和Sort的運行機制

MapReduce 保證對每個reduce的輸入都是已排序的,系統執行排序的過程——傳輸map的輸出到reduce作爲輸入——被稱作“shuffle”(譯爲“洗牌”)。在許多方面,Shuffle是MapReduce的心臟和發生“神奇”的地

原创 HBase Log Splitting(日誌拆分)

該文主要介紹了HBase在一個region server崩潰後,如何通過日誌拆分(Log Split)的方式來恢復丟失的修改,防止數據丟失的。 Log Split(日誌拆分) HBase爲了提高寫的性能,將數據的修改先放到memstore

原创 System.exit(0)和System.exit(1)區別

1.參考文獻 http://hi.baidu.com/accpzhangbo/blog/item/52aeffc683ee6ec238db4965.html 2.解析 查看java.lang.System的源代碼,我們可以找到Sy

原创 MapReduce 的特性

Counters 也許常常你會想要了解正在進行分析的數據的運行情況,例如,在統計無效record時,發現無效的record佔整個數據集的比例比較高,你也許會檢查爲什麼會有這麼多的記錄被標記爲無效——也許是程序中的一個bug,或者是數據質量

原创 Hadoop I/O

Hadoop 提供了一組原始的數據IO,這些都是比Hadoop更爲通用的技術,比如數據一致性、壓縮等。但是值得考慮的是處理TB級的數據。 數據一致性(Data Integrity) 在數據存儲和處理期間,用戶不希望發生數據的丟失或中斷的情

原创 MapReduce 的工作機制

解剖MapReduce job的運行機制 你可以在一個Job對象上調用submit()方法來運行一個MapReduce Job(或者也可以調用waitForCompletion()方法,如果job還沒有提交,它可以在提交job後等待job

原创 ImportError: No module named redis

在安裝過Redis後,通過Python程序導入redis時,遇到一個“ImportError: No module named redis”錯誤,網上查了下原因,解決辦法如下: Python默認是不支持Redis的,當引用redis時就會

原创 Hive 初識

HIve是什麼? Hive是一個基於Hadoop的數據倉庫工具,提供了方便查詢和管理海量數據的能力,它可以把結構化的數據文件轉化爲一張數據庫表,並存儲在HDFS上(也可以存儲在本地磁盤上),用戶可以通過自定義的SQL語句來查詢存儲在HDF

原创 Avro, Protocol Buffers 、Thrift的區別

http://martin.kleppmann.com/2012/12/05/schema-evolution-in-avro-protocol-buffers-thrift.html 當想要數據, 比如對象或其他類型的, 存

原创 MapReduce -- task 的執行

下面來看下,MapReduce用戶對task執行的更多控制 The Task Execution Environment Hadoop爲map task和reduce task提供了運行環境信息。例如,一個map task 可以知道它正在

原创 Avro 初識

Avro是什麼? Apache Avro是一個數據序列化工具,主要用於將類對象或其它結構形式的數據轉化爲用於傳輸的通用的格式,如二進制、json、xml等,並且它是跨語言支持的。 爲什麼會有Avro?   先來看下傳統的RPC的情況,在跨

原创 YARN 初識

Apache YARN (Yet Another Resource Negotiator,另一個資源協調者)是Hadoop的集羣資源管理系統,它從Hadoop 2.0版本開始被引入,主要是爲了改進MapReduce的實現,可以很好地支持其

原创 MapReduce 初識

MapReduce是一種大數據處理編程模型,它的思想來源於Google的幾篇論文,可以把它理解爲:把一堆混亂的數據按照某種特徵歸納起來,然後處理並得到結果。Map面對的是雜亂無章的互不相關的數據,它解析每個數據,從中提取出key和valu