什麼是spark?可能你很多年前就使用過spark,反正當年我四六級單詞都是用的星火系列,沒錯,星火系列的洋名就是spark。
當然這裡說的spark指的是apache spark,apache spark™is a fast and general engine for large-scale data processing: 一種快速通用可擴充套件的資料分析引擎。如果想要搞清楚spark是什麼,那麼我們需要知道它解決了什麼問題,還有是怎麼解決這些問題的。
在這裡不得不提大資料,大資料有兩個根本性的問題,乙個是資料很大,如何儲存?另外乙個是資料很大,如何分析?畢竟分析大資料是為了改善產品的使用者體驗,從而獲取更多的價值。
對於第乙個問題,開源社群給出的方案就是hdfs,乙個非常優秀的分布式儲存系統。
對於第二個問題,在hadoop之 後,開源社群推出了許多值得關注的大資料分析平台。這些平台範圍廣闊,從簡單的基於指令碼的產品到與hadoop 類似的生產環境。bashreduce在 bash環境中的多個機器上執行 mapreduce 型別的操作,可以直接引用強大的linux命令。graphlab 也是一種mapreduce 抽象實現,側重於機器學習演算法的並行實現。還有twitter 的
大資料 Spark(八)
dag directed acyclic graph 叫做有向無環圖 有方向,無閉環,代表著資料的流向 原始的rdd通過一系列的轉換就形成了dag。下圖是基於單詞統計邏輯得到的dag有向無環圖 乙個job會被拆分為多組task,每組任務被稱為乙個stage。stage表示不同的排程階段,乙個spar...
大資料框架 spark
rdd 彈性分布式資料集。operation transformation 和action,乙個返回rdd,乙個返回值。lineage rdd之間的依賴關係,如何演變過來。partition rdd分割槽,按block切分 narrow dependency 窄依賴 父rdd全進入子rdd wide...
大資料Spark應用的結構
大資料spark應用的結構。driver executor driver 執行sparkcontext上下文的地方 jvm sparkcontext進行初始化的地方 jvm 進行rdd初始化的地方 jvm task執行資源申請和rdd job task排程的排程 一般我們認為main方法的位置就是d...