原创 深入理解java異常處理機制

 1. 引子        try…catch…finally恐怕是大家再熟悉不過的語句了,而且感覺用起來也是很簡單,邏輯上似乎也是很容易理解。不過,我親自體驗的“教訓”告訴我,這個東西可不是想象中的那麼簡單、聽話。不信?那你

原创 Hadoop中Map端shuffle過程及源碼解析

分析的源碼是基於Hadoop2.6.0。 官網上面的MapReduce過程 Map端shuffle的過程: 在執行每個map task時,無論map方法中執行什麼邏輯,最終都是要把輸出寫到磁盤上。如果沒有reduce階

原创 Hadoop中reduce端shuffle過程及源碼解析

一、概要描述 在Child的main函數中通過TaskUmbilicalProtocol協議,從TaskTracker獲得需要執行的Task,並調用Task的run方法來執行。在ReduceTask而Task的run方法會通過j

原创 Hbase系統架構及數據結構

HBase中的表一般有這樣的特點: 1 大:一個表可以有上億行,上百萬列 2 面向列:面向列(族)的存儲和權限控制,列(族)獨立檢索。 3 稀疏:對於爲空(null)的列,並不佔用存儲空間,因此,表可以設計的非常稀疏。 下面一幅

原创 HBase的數據導入方式

前言:   作爲Hadoop生態系統中重要的一員, HBase作爲分佈式列式存儲, 在線實時處理的特性, 備受矚目, 將來能在很多應用場景, 取代傳統關係型數據庫的江湖地位. 本篇博文重點講解HBase的數據導入, 描述三種方式, Cli

原创 hbase1.2安裝配置

1)下載安裝包,解壓到合適位置 2)配置相關文件 1、配置hbase-env.sh文件。 # The java implementation to use. export JAVA_HOME=/usr/java/jdk1.7

原创 hive 自定義函數

1、首先定義函數 2、將函數添加到hive中

原创 Hive體系結構

Hive是一種建立在hadoop上的數據倉庫架構,可以用來進行數據ETL,並對存儲在hdfs中的數據進行查詢、分析和管理。 1、Hive架構與基本組成 下面是Hive的架構圖。 圖1.1 Hive體系結構 Hi

原创 對Hive的大表進行動態分區

分區是在處理大型事實表時常用的方法。分區的好處在於縮小查詢掃描範圍,從而提高速度。分區分爲兩種:靜態分區static partition和動態分區dynamic partition。靜態分區和動態分區的區別在於導入數據時,是手動輸入分區名

原创 Hive中的InputFormat、OutputFormat與SerDe

Hive中,默認使用的是TextInputFormat,一行表示一條記錄。在每條記錄(一行中),默認使用^A分割各個字段。 在有些時候,我們往往面對多行,結構化的文檔,並需要將其導入Hive處理,此時,就需要自定義InputFormat、

原创 spark1.2配置

1、配置spark-env.sh export JAVA_HOME=/usr/jdk1.8 export SCALA_HOME=/usr/scala export SPARK_MASTER_IP=192.168.209.131 expor

原创 Ubuntu下Hive配置(MySQL數據庫的安裝方式)

Hive只在一個節點上安裝即可 一、安裝MySQL •Ubuntu 採用apt-get安裝 •sudo apt-get install mysql-server •建立數據庫hive •create database hive

原创 ubuntu查看用戶分組

查看用戶分組:

原创 hive小結

1)hive加載數據 hive加載本地數據和和hdfs數據區別 加載外部表可以爲本地文件,加載內部表,要把數據加載到hdfs上 2)hive中索引 索引 deferred 延期的 compact 緊壓的 3)hive中數據格式

原创 ubuntu下is not in the sudoers file 解決方案

如果當前用戶下出現,可以切換到另外一個有該權限的用戶,在該用戶下輸入: sudo usermod -a -G adm water3 sudo usermod -a -G sudo water3 備註:其中water3爲出現問題的用