原创 Kettle — 使用手冊

介紹 ETL是EXTRACT(抽取)、TRANSFORM(轉換)、LOAD(加載)的簡稱,實現數據從多個異構數據源加載到數據庫或其他目標地址,是數據倉庫建設和維護中的重要一環,也是工作量較大的一塊。Kettle是ETL中其中一個開源工具,

原创 Kettle — 自定義插件

Kettle開發體系是基於插件的,平臺自身提供接口,開發者按照規範實現接口就能進行插件的開發。在Kettle8.1的官方文檔上有關於插件非常詳細的介紹,如果有任何疑問可以先去官方文檔查看。下面先介紹一下需要進行插件開發最基本的原理。 插件

原创 Kettle — 集羣使用

Kettle集羣介紹 在Kettle中合理的使用集羣可以加快執行的速度,並且還能在部分服務器宕機的情況下繼續使用。在Kettle中集羣是由一個主Carte服務器和多個從Carte服務器組成。在執行轉換時,主服務器負責分發跟蹤任務和收集結果

原创 Kettle — 常見錯誤

錯誤1: 點擊SQL時報錯,執行轉換不生效。 需要點擊hop,使之生效。 錯誤2: 資源庫配置變爲灰色,且沒有Connect按鈕 原因是有些中文配置導致Kettle的repositories.xml文件亂碼。 刪除紅框中的文件,並重啓

原创 Kettle — 轉換機制

轉換機制   每個轉換步驟都是ETL數據流裏面的一個任務。轉換步驟包括輸入、處理和輸出。輸入步驟從外部數據源獲取數據,例如文件或者數據庫;處理步驟處理數據流,字段計算,流處理等,例如整合或者過濾。輸出步驟將數據寫會到存儲系統裏面,例

原创 Kettle — Spoon加載源碼解析

在Kettle中,我們知道Spoon是其中最重要的一個組件。它可以讓我們以圖形化的方式開發轉換和作業等工作。 在spoon中Kettle採用了Xul界面技術和Swt相結合的方式進行圖形界面的開發。 啓動流程 1)首先程序在啓動時會創建一個

原创 Java併發編程—內存模型

什麼是併發? 併發是指多個執行單元同時並行執行,併發通常能夠加大系統的利用率和吞吐量。不過併發的執行單位經常會造成共享資源出現競爭狀態。 Java內存模型 在Java併發中,線程間的通信是通過Java內存模型(Java Memory Mo

原创 Zookeeper Recepes使用

Curator食譜(高級特性) 提醒:首先你必須添加curator-recipes依賴,下文僅僅對recipes一些特性的使用進行解釋和舉例,不打算進行源碼級別的探討 <dependency> <

原创 Zookeeper ACL權限控制

Zookeeper使用ACL來控制訪問Znode,ACL的實現和UNIX的實現非常相似:它採用權限位來控制那些操作被允許,那些操作被禁止。但是和標準的UNIX權限不同的是,Znode沒有限制用戶(user,即文件的所有者),組(grou

原创 zookeeper通過API使用

前言Zookeeper是一種作用於分佈式應用高性能的調度服務。在zookeeper中提供了原生的API可以供我們開發使用,zookeeper官方的API文檔網址:http://zookeeper.apache.org/doc/r3.4.1

原创 Zookeeper Curator使用

一、前言 Curator是Netflix公司開源的一套Zookeeper客戶端框架。瞭解過Zookeeper原生API都會清楚其複雜度。Curator幫助我們在其基礎上進行封裝、實現一些開發細節,包括接連重連、反覆註冊Watcher和No

原创 Zookeeper ZkClient簡介

直接使用zk的api實現業務功能比較繁瑣。因爲要處理session loss,session expire等異常,在發生這些異常後進行重連。又因爲ZK的watcher是一次性的,如果要基於wather實現發佈/訂閱模式,還要自己包裝一

原创 讀Spring實戰(第四版)概括—保護Web應用(Spring Security)

一、前言 Spring Security是爲基於Spring的應用程序提供聲明式安全保護的安全性框架。Spring Security提供了完整的安全性解決方案,它能夠在Web請求級別和方法調用級別處理身份認證和授權。因爲基於Spring框

原创 Zookeeper Leader選舉

一、前言   前面學習了Zookeeper服務端的相關細節,其中對於集羣啓動而言,很重要的一部分就是Leader選舉,接着就開始深入學習Leader選舉。 二、Leader選舉   2.1 Leader選舉概述   Leader選舉是保

原创 讀Spring實戰(第四版)概括—Restful API

一、前言 什麼是rest?什麼是restful? 我相信很多人區分不開來,Rest的英文全稱爲Representational State Transfer,即表述性狀態轉移,就是將資源的狀態以最適合客戶端或服務端的形式從服務器端轉移到客