原创 Hive的設計與架構

本文包含Hive的設計與架構的詳細信息,具體內容如下: Hive架構 Hive數據模型 元存儲 Motivation 元數據對象 Hive 架構 圖中展示了Hive的主要組成部分,以及與Hadoop的交互,如圖所述,H

原创 Hive數據傾斜解決思路

Hive數據傾斜總結 發生傾斜的根本原因在於,shuffle之後,key的分佈不均勻,使得大量的key集中在某個reduce節點,導致此節點過於“忙碌”,在其他節點都處理完之後,任務的結整需要等待此節點處理完,使得整個任務被此節點

原创 mac環境下kylin安裝異常

find: -printf: unknown primary or operator Current HIVE_LIB is not valid, please export HIVE_LIB=‘YOUR_LOCAL_HIVE_L

原创 Linux Shell 日期格式

可以使用幫助命令(date --help)查看說明: [yang@master Shell]$ date --help Usage: date [OPTION]... [+FORMAT] or: date [-u|--utc

原创 Apache Avro 1.8.1 入門指南(Java)

在快速入門之前,我們先來了解一下Apache Avro到底是什麼東東?能夠用來做什麼? Apache Avro是一個數據序列化系統。序列化就是將對象轉換成二進制流,相應的反序列化就是將二進制流再轉換成對應的對象。因此,Avro就是

原创 配置git push時無需輸入用戶名和密碼

使用github,在git push時,需要輸入用戶名和密碼,這會很不方便,本文介紹使用ssh來實現無需輸入用戶名和密碼。 場景:我有一個repository:https://github.com/strongyoung/Note

原创 在JAVA中使用sqljdbc連接MS SQL SERVER

1、下載sqljdbc https://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11774 2、解壓 tar –xf sqljdbc_<ve

原创 Hive和Spark SQL優化

優化步驟 問題定位,通過日誌和代碼分析,定位任務耗時長的原因 hive任務,對於hive任務,可以通過日誌查看哪個application、以及是哪個階段耗時較長,另外,可以通過stage編號,結合explain查看執行計劃

原创 Hive中Map任務和Reduce任務數量計算原理

Hive中Map任務和Reduce任務數計算原理 MapReduce原理 Map階段(以FileInputFormat爲例) 步驟:map, partition, sort, combiner InputFormat負責計算

原创 Hadoop源碼學習-運行實例

運行例子 準備工作 運行 準備工作 運行環境: JAVA版本: [root@node3 hadoop]# java -version openjdk version "1.8.0_111" OpenJDK Runtime En

原创 配置ssh無密碼登錄

場景: 現在有4臺機器,分別是 master node1 node2 node3 現在需要配置從master無密碼ssh登錄到node1,node2,node3。 (這裏有root用戶爲例,有些系統可能默認不支持root用戶s

原创 shell腳本關閉計算機集羣

背景:由於用4臺機器建立了一個Hadoop集羣,每次開機還好,直接按4臺,但是每次關機就比較麻煩(不想直接長按電源鍵),因爲目前只有一臺機器有顯示器,另外三臺都沒有顯示器,所以,每次關閉其他三臺時,都需要在終端下用ssh連接到ho

原创 使用sbt assembly構建Spark項目

sbt-assembly是一個sbt插件,作用類似於Maven,用於創建一個包含依賴的JAR包 場景:我在用sbt構建spark項目,但是在用sbt package打包生成jar包時,這個jar包並不沒有包含項目的依賴,導致這個j

原创 Hadoop源碼學習-以創建目錄爲例

之前提到,在終端輸入命令hadoop fs -mkdir dir時,最後是轉換成運行JAVA程序,執行類FsShell,並傳遞相應的參數。 在類FsShell裏的執行過程 類FsShell是使用命令hadoop fs時執行的類,它

原创 Spark使用explode展開嵌套的JSON數據

在使用Spark的人中,估計很多人都會使用DataFrame及SQLContext,而在衆多的數據格式中,很可能會遇到JSON數據,此數據還可能包含嵌套關係,比如像如下的JSON數據: {"name":"Michael", "ag