原创 談Spark下並行執行多個Job的問題

  對於Spark這樣的分佈式計算系統,任務會分發到多臺機器上執行。如何榨乾有限的集羣資源來實現快速並行計算,是需要考慮的重要問題之一。而這個問題又可以拆解爲:如何將有限的集羣資源都分配給Spark使用;如何將分配到的資源都利用起來。

原创 聊一聊Spark寫文件的機制——如何保證數據一致性

  聊這個問題的原因是,本週在測試環境遇到了一例從Spark往S3寫數據失敗的情況,花了些時間來搞清楚箇中緣由,這裏整理出來與大家分享,期望能對同道中人有所幫助。 背景   在筆者的數據系統中,每天會定時啓動一個Spark批處理程序,

原创 Elasticsearch最佳實踐之Index與Shard設計

  Index與Shard,這兩個概念在《Elasticsearch最佳實踐之核心概念與原理》一文有詳細的介紹,分別對應了Elasticsearch的兩種數據組織方式:邏輯組織和物理組織。邏輯層面上,Index與業務數據的結構、類型、

原创 當Spark遇上Zeppelin

  本文將會發表在GitChat上面,主要探討Spark with Zeppelin。Zeppelin是一個基於Web的交互式數據分析工具,裏面有很多解釋器,透過這些解釋器便可以利用相應的引擎完成數據計算與分析,Spark便是其中一種

原创 詳解Spark Streaming的Graceful Shutdown

  對於Spark Streaming程序而言,一旦運行起來後,就會不斷的從數據流中消費數據,按照Batch間隔生成BatchRDD進行處理,即處於7*24小時運行的狀態,除非我們主動將其停止或者遇到異常退出。所謂Graceful S

原创 Elasticsearch最佳實踐之核心概念與原理

  每一個系統都擁有很多概念,這些概念是作者在設計與實現時爲不同的模塊或功能做的定義。概念本身只是一個名詞,往往會跟隨作者的喜好不同而不同,重要的是理解其設計的初衷以及要表達的實際內容,否則很快就會忘記其意義。作爲專欄文章的第二篇,本

原创 創業公司做數據分析(五)微信分享追蹤系統

  作爲系列文章的第五篇,本文重點探討數據採集層中的微信分享追蹤系統。微信分享,早已成爲移動互聯網運營的主要方向之一,以Web H5頁面(下面稱之爲微信海報)爲載體,利用微信龐大的好友關係進行傳播,實現宣傳、拉新等營銷目的。以下圖爲例

原创 創業公司做數據分析(二)運營數據系統

  作爲系列文章的第二篇,本文將首先來探討應用層中的運營數據系統,因爲運營數據幾乎是所有互聯網創業公司開始做數據的起點,也是早期數據服務的主要對象。本文將着重回顧下我們做了哪些工作、遇到過哪些問題、如何解決並實現了相應的功能。 早期數

原创 Python下訪問MYSQL的方法總結

  在Python下做過服務器開發的小夥伴對ORM技術一定都不陌生,ORM(Object-Relational Mapping),將關係數據庫的表結構映射到對象上,隱藏了數據庫操作背後的細節,簡化了對數據操作的寫法,使得不懂SQL語法的人

原创 打造私人搜書系統之系統設計

  故事是這樣的,在沒有王者農藥之前,筆者大部分業餘時間都是靠着有毒的免費小說來打發的。那時都是先通過百度搜索小說名,然後進入相應的小說網站來看,有很多不爽的體驗:第一,每次都要百度,去找有這個小說的網站;第二,每家網站的更新速度不一

原创 MFC總結之CListCtrl用法及技巧(二)

       續第一篇:MFC總結之CListCtrl用法及技巧(一) http://blog.csdn.net/zwgdft/article/details/7560592         本篇重點介紹:禁止拖動表頭、讓第一列居中顯示

原创 Django下測試與調試REST API的方法

        對於大多數研發人員來說,都期望能找到一個良好的測試/調試方法,來提高工作效率和快速解決問題。所謂調試,偏重於對某個bug的查找、定位、修復;所謂測試,是檢驗某個功能是否達到預期效果。測試發現問題後進行調試,從而解決問題。

原创 Elasticsearch最佳實踐之使用場景

序   最開始使用Elasticsearch是兩年多前,在一家創業公司負責數據系統的建設,當時也有寫一些博文來分享使用方法。然而回過頭去想,覺得當時的很多認知不夠深入,或者說是當時的業務場景下沒有遇到更多的問題。很多時候,一個技術或工

原创 RabbitMQ下的生產消費者模式與訂閱發佈模式

  所謂模式,就是在某種場景下,一類問題及其解決方案的總結歸納。生產消費者模式與訂閱發佈模式是使用消息中間件時常用的兩種模式,用於功能解耦和分佈式系統間的消息通信,以下面兩種場景爲例: 數據接入   假設有一個用戶行爲採集系統,負

原创 談一談Elasticsearch的集羣部署

  Elasticsearch天生就支持分佈式部署,通過集羣部署可以提高系統的可用性。本文重點談一談Elasticsearch的集羣節點相關問題,搞清楚這些是進行Elasticsearch集羣部署和拓撲結構設計的前提。關於如何配置集羣