隨着大數據和雲計算時代的到來,數據規模愈來愈大,隨之出現了不少大數據框架,好比Hadoop用來實現分佈式文件存儲的HDFS,MapReduce、Spark、Storm等計算框架,Hbase,Mongob等數據庫,Hive數據倉庫。mysql
爲了更好的處理海量數據,使得不懂Spark的數據分析人員能夠很方便的使用Spark來進行數據分析和挖掘,FEA研發了FEA-spk技術。FEA-spk是以Spark爲內核引擎,提供了交互式的分析,它的功能幾乎覆蓋了全部的spark操做,而且能夠對結果數據進行可視化展現。它能夠和衆多的大數據計算框架結合,好比hive,hbase,mongodb,hdfs等。能夠保存和讀取各類文件格式,好比parquet,avro,orc,json,csv等文件格式,真正作到了和大數據進行融合!sql
咱們今天,從架構、運行原理、任務的查看和監控、內存的分配與調優、DF錶轉化等方面,深刻淺出認識一下FEA-spk。mongodb
1. FEA-spk的架構數據庫
2. FEA-spk運行原理json
FEA-spk採用yarn-client模式運行在hadoop的yarn上。在使用FEA-spk的時候,在客戶端的FEA界面先要建立一個spk的鏈接,以下圖所示:架構
這個時候就會在Hadoop yarn界面啓動一個應用,以下圖所示:框架
而後就能夠加載數據,對數據進行分析了。分佈式
FEA-spk支持多種數據源,最多見的固然是HDFS了,它是分佈式存儲文件系統,當咱們要處理的數據量很大,好比TB級的時候,就能夠把數據放在HDFS上面,而後使用FEA-spk把HDFS數據加載到咱們使用的Spark集羣的內存裏面,克服了單機內存不足的問題,使得分佈式內存計算成爲了可能。oop
下面咱們來加載一個存放在hdfs目錄的csv文件大數據
隨後能夠對DF表進行各類各樣的操做,好比group,agg等,這裏再也不敘述了(在FEA官方網站有FEA-spk的操做手冊,很詳細的介紹了各類操做)。
最後,對計算後的結果進行保存,好比保存到hdfs,hive,mysql中等。
3. FEA-spk運行任務的查看和監控
咱們在運行FEA-spk的時候,須要查看運行了多長時間,劃分爲幾個stage,
每一個stage的task數,運行了多長時間等,按照如下的步驟進行操做.
點擊ApplicationMaster,進入下面的頁面
而後就能夠查看各類指標了
4. FEA-spk內存的分配與調優
因爲FEA-spk是基於內存進行計算的,因此對內存的分配就顯得尤其重要。
通常要調節上圖的幾個參數。在FEA客戶端的$SPARK_HOME/conf的
spark-defaults.conf目錄
5. FEA-spk的DF表和FEA的DF錶轉化
若是咱們須要對FEA-spk的DF錶轉化爲FEA的DF表,只須要下面一條命令就能夠了
df=@udf sdf by spk.to_DF
同理,若是要轉化爲FEA-spk的DF表,須要運行如下一條命令
sdf=@udf spk,df by spk.to_SDF
以上就是FEA-spk技術的完整介紹,但願你們多多支持哦。