Big Data Ecosystem – Hadoop Distribution
巨量資料的市場預測 http://wikibon.org/wiki/v/Big_Data_Vendor_Revenue_and_Market_Forecast_2013-2017
熱門的巨量資料主題 資訊系統的Big Data熱門主題 Hadoop NoSQL Analytics Hadoop software and related hardware and services; NoSQL database software and related hardware and services; Next-generation data warehouses/analytic database software and related hardware and services; Non-Hadoop Big Data platforms, software, and related hardware and services; In-memory – both DRAM and flash – databases as applied to Big Data workloads; Data integration and data quality platforms, tools and services as applied to Big Data deployments; Advanced analytics and data science platforms, tools and services; Business intelligence and data visualization platforms, tools and services as applied to Big Data use cases; Analytic and transactional applications and services as applied to Big Data use cases; Cloud-based Big Data services including infrastructure, platform and software delivers as a service. 資訊系統的Big Data熱門主題 Hadoop NoSQL Analytics http://wikibon.org/wiki/v/Big_Data_Vendor_Revenue_and_Market_Forecast_2013-2017
兩種處理巨量資料的手段 目前處理巨量資料的手段分成兩大類: RDBMS vs. Hadoop / HBase 加強單一伺服器的儲存與運算能力,也就是垂直成長 透過串聯多個伺服器的方式來橫向成長 RDBMS vs. Hadoop / HBase Scale-up and Scale-out
認識Apache Foundation The Apache Software Foundation是致力於軟體開放原始碼的一個組織 請參閱www.apache.org Apache基金會的圖示是一根羽毛
認識Apache Hadoop Apache Hadoop是Apache基金會的頂級專案,代表獲得極高的重視,主要的目標是串連多台伺服器,並讓巨量資料可在此叢集上運算 請參閱hadoop.apache.org Hadoop的吉祥物是一隻大象
Hadoop系統的組成 Hadoop系統的基本模組包括: Hadoop Common:支援整個叢集系統的共通工具 Hadoop Distributed File System (HDFS):分散式的檔案系統,提供巨量資料的快速存取 Hadoop YARN:叢集上的工作排程及資源管理 Hadoop MapReduce:基於YARN的平行處理程式 Hadoop 基本模組 Hadoop Common HDFS YARN MapReduce
Hadoop-related project 我們通常會說Hadoop Ecosystem(生態系),因為Hadoop系統通常包括數種不同功能的工具,在Apache基金會之中主要包括下列工具的開發專案: Ambari™ Avro™ Cassandra™ Chukwa™ HBase™ Hive™ Mahout™ Pig™ Spark™ Tez™ ZooKeeper™ Hadoop Ecoystem Hadoop-Related Projects Hadoop Common HDFS YARN MapReduce
面對巨量資料的方式 從應用的角度,可運用各種應用系統Applications Collection 資料蒐集 資料量很大時,須考慮資料產生與處理的速度 Storage 資料儲存,或者應用公有雲Cloud的架構 Computing 資料計算,泛指各種加值處理 Analytics, Statistics, Data Mining, Machine Learning 資料分析 一切就緒後,開始進行資料分析,包括使用統計方法,或是機器學習的方式 Visualization 資料視覺化 Business Model 套用商業模式 所有資料處理與分析的目標,須與商業上的目標結合
先解決大數據的儲存需求 *數據分析人員可以撰寫MapReduce程式來處理資料 *也可以用Hadoop eco system中的各種工具來處理 Hadoop 分散式系統 Hardware
再解決大數據的結構化 *數據分析人員以HBase儲存結構化的巨量資料 HBase 巨量資料庫系統 Hadoop 分散式系統 Hardware
進行數據分析 分析工具(常見的R) HBase巨量資料庫 Hadoop 分散式系統 *數據分析人員可選擇擅長的資料處理途徑,或是混搭數種方法 使用HBase工具進行查詢、新增meta 使用分析工具,套用函數 直接撰寫程式進行資料處理 資料分析演算法 A B C 分析工具(常見的R) HBase巨量資料庫 Hadoop 分散式系統 Hardware
非結構化與結構化巨量資料
非結構化 與 結構化 簡單來說 非結構化是還沒有結構化,要從頭到尾找資料:File 結構化是已經可以直接找到想要的資料內容:Table 欄位:Column 資料列:Row
兩者在資料分析的方式 非結構化資料的分析 先判斷哪些是欲處理的目標,建立Meta data 批次式的資料分析處理 結構化資料的分析 Table的結構可以直接進行資料的 增 刪 改 查 Random Access 適合分析過程中的資料暫存、加值、轉換等應用
資料處理與分析架構 Analysis Structural Data (HBase) Un-structural Data (HDFS) Hadoop eco system 蒐集/儲存
資料分析的流程 判斷哪些是欲處理的目標,思考如何建立Meta 嘗試分析整體非結構化資料(可能非常耗時) 分析的經驗: 並非一定循序式的處理,有可能跳過某步驟,也有可能跳回前幾個步驟,通常視需求而決定。 撰寫MapReduce程式進行分散式處理 將部份資料進行結構化處理(轉換進HBase) 設計與調整分析演算法(常見的工具:R, Spark, …) 資料分析結果呈現與視覺化設計