原创 Java中的Date和時區轉換

1.Date中保存的是什麼 在java中,只要我們執行 Date date = new Date(); 就可以得到當前時間。如: Date date = new Date(); System.out.println(date); 輸出結

原创 數據倉庫系列——5.數據倉庫與數據集市建模

前言         本文將詳細介紹數據倉庫維度建模技術,並重點討論三種基於ER建模/關係建模/維度建模的數據倉庫總體建模體系:規範化數據倉庫,維度建模數據倉庫,以及獨立數據集市。   維度建模的基本概念         維度建模(dim

原创 數據倉庫系列——6.數據倉庫系統的實現與使用(含OLAP重點講解)

前言         上一篇重點講解了數據倉庫建模,它是數據倉庫開發中最核心的部分。然而完整的數據倉庫系統還會涉及其他一些組件的開發,其中最主要的是ETL工程,在線分析處理工具(OLAP)和商務智能(BI)應用等。         本文將

原创 數據倉庫系列——2.什麼是OLAP

最近由於很多人問我什麼是OLAP,從而發現目前OLAP對大多數人來說還是個新名詞,這裏我來簡單講講OLAP(聯機分析)。         聯機分析(OLAP)是由關係數據庫之父E.F.Codd於1993年提出的一種數據動態分析模型,它允許

原创 spark streaming 中 direct 直連方式從kafka中怎麼拉取數據

我們知道 SparkStreaming 用 Direct 的方式拉取 Kafka 數據時,是根據 kafka 中的 fromOffsets 和 untilOffsets 來進行獲取數據的,而 fromOffsets 一般都是需要我們自己管

原创 數據倉庫系列——01.拉鍊表(原理、設計以及在Hive中的實現)

0x00 前言 過了半年時間,對數據倉庫的理解又有了一些不同的認識,翻出來之前寫的關於拉鍊表的內容,稍作修改重新發出來。本篇將會談一談在數據倉庫中拉鍊表相關的內容,包括它的原理、設計、以及在我們大數據場景下的實現方式。 內容 全文由下面幾

原创 數據倉庫系列——4.如何優雅地設計數據分層

一、文章主題 本文主要講解數據倉庫的一個重要環節:如何設計數據分層!其它關於數據倉庫的內容可參考之前的文章。 本文對數據分層的討論適合下面一些場景,超過該範圍場景 or 數據倉庫經驗豐富的大神就不必浪費時間看了。 數據建設剛起步,大部分的

原创 數據倉庫系列——3.維度建模概述及案例

概述 數據倉庫包含的內容很多,它可以包括架構、建模和方法論。對應到具體工作中的話,它可以包含下面的這些內容: 以Hadoop、Spark、Hive等組建爲中心的數據架構體系。 各種數據建模方法,如維度建模。 調度系統、元數據系統、ETL系

原创 storm acker 機制詳解

首先來看一下什麼叫做記錄級容錯?storm允許用戶在spout中發射一個新的源tuple時爲其指定一個message id, 這個message id可以是任意的object對象。多個源tuple可以共用一個message id,表示這多

原创 Linux環境變量 bash_profile、profile、bashrc詳解

爲使Bash更好地爲我們服務,我們需定製bash shell環境。   ~/.bash_profile、~/.bashrc、和~/.bash_logout 1.上面這三個文件是bash shell的用戶環境配置文件,位於用戶的主目錄下。其

原创 mapreduce參數調優

廢話不說直接來一張圖如下:   從JVM的角度看Map和Reduce Map階段包括: 第一讀數據:從HDFS讀取數據 1、問題:讀取數據產生多少個Mapper??     Mapper數據過大的話,會產生大量的小文件,由於Mapper

原创 JDK動態代理詳解(源碼剖析)

一、什麼是代理? 代理是一種常用的設計模式,其目的就是爲其他對象提供一個代理以控制對某個對象的訪問。代理類負責爲委託類預處理消息,過濾消息並轉發消息,以及進行消息被委託類執行後的後續處理。代理模式UML圖:簡單結構示意圖:

原创 MySQL理解索引、添加索引的原則

索引用於快速找出在某個列中有一特定值的行。不使用索引,MySQL必須從第1條記錄開始然後讀完整個表直到找出相關的行,還需要考慮每次讀入數據頁的IO開銷。而如果採取索引,則可以根據索引指向的頁以及記錄在頁中的位置,迅速地讀取目標頁進而獲取目

原创 Executors創建線程的實例

Java通過Executors提供四種線程池,分別爲:newCachedThreadPool創建一個可緩存線程池,如果線程池長度超過處理需要,可靈活回收空閒線程,若無可回收,則新建線程。newFixedThreadPool 創建一個定長線

原创 hive中Lateral View用法 與 Hive UDTF explode的用法

Lateral View是Hive中提供給UDTF的conjunction,它可以解決UDTF不能添加額外的select列的問題。1. Why we need Lateral View?當我們想對hive表中某一列進行split之後,想對