Spark Streaming File Stream Posted on 2018-03-19 | In Big data Spark Streaming File StreamSpark Streaming File Stream Spark streaming file stream 支持任何兼容HDFS API的文件系統,例如HDFS、S3、NFS File stream不需要執行Receiver去接收數據,故不需要配置任何Core Read more »
Spark Streaming Receiver Posted on 2018-03-12 | In Big data Spark Streaming Receiver Spark streaming dstreams and receivers Input DStream是指Receive接收到的輸入 Read more »
Spark Streaming Basic Posted on 2018-03-08 | In Big data Spark Streaming BasicIntroduction Spark streaming introduction Ease of Use 使用高級別的API進行開發Application 支持多語言的API,包含Java、Scala以及Python Streaming job與Batch job的之間的實作方法沒有區別 Fault Tolerance 開箱及用的Stateful exactly-once semantics 開箱及用的恢復Lost wrok與Operator state功能,不需要開發者進行額外的開發 Spark Integration - 與Spark Core、SQL、ML等結合 Streaminng job與Batch job之間的處理邏輯不需變動,修改輸入與輸出就可以 Deployment Options: 支持多個數據源,包含HDFS、Flume、Kafka、Twitter、ZeroMQ 支持多個運行模式 Read more »
Spark Shared Variables Posted on 2018-03-04 | In Big data Spark Shared Variables 如果有一個操作(map, reduce)是執行在遠端集群節點上,而此操作內使用到的外部變量,Spark會通過複製的方式,從Driver端傳遞到每台執行該操作的節點上,而且每台遠端節點上的變量,是無法進行更新對應在Driver那份原始變量的。 在上述的情況下,讀寫共享變量在跨Task的情況下就不是這麼的高效了,所以Spark提供了兩種機制的共享變量機制: Broadcast Variables Accumulators Read more »
Spark RDD Dependence Posted on 2018-02-24 | In Big data Spark RDD DependenceDependenciesNarrow Dependencies 任何一個Parent RDD的Partition至多被Child RDD的某個Partition使用一次 有些可能沒用被使用 透過流水線(pipelining possible)的方式進行傳遞 不存在shuffle 如果某個Partition遺失了,可以快速使用Parent RDD對應的Patition計算出來,容錯與計算速度都很快 Read more »
Spark Shuffle Posted on 2018-02-22 | In Big data Spark ShuffleSpark Shuffle Introduction 將某中具有相同特徵(key)的數據匯聚到同一個計算節點上進行計算的過程稱之為Shuffle 一定存在Wide dependencies 一個Action將被切割成2個Stage Shuffle會產生一系列的Map task去組織數據, 以及一系列Reduece task去聚合數據 可能產生Shuffle的算子 KeyBy transformations Join with inputs not co-partitioned Repartition Coalesce(Maybe) Read more »
Spark RDD Lineage and Checkpoint Posted on 2018-02-08 | In Big data Spark RDD Lineage and CheckpointLineage 一串序列的RDD transformation組成的Compute chain,在這條Chain的RDD之間的關係依賴圖稱為Lineage 若Chain中的某個RDD的某個Partition遺失了,則可以根據Lineage得知Parent RDD後,重新計算遺失的Partition即可,而不需要從資料來源整個Chain重新計算 可達成RDD的容錯機制 Checkpoint: 當Compute chain太長時,可以使用Checkpoint來達成RDD落地以及容錯 Checkpoint將某個RDD保存到某個文件中,並將其Parent RDD移除,換句話說,設為一個新的Chain起點 Read more »
Spark RDD Persist Posted on 2018-01-31 | In Big data Spark RDD Persist Persist/Cache是Spark中一個重要的特性,其操作是將DataSet持久化至記憶體中。 當進行RDD持久化時,每個Node會儲存RDD中的每個Partition至記憶體中,並在其他Action執行時將RDD從記憶體中取出。 Read more »
Redis Installation Posted on 2018-01-23 | In Misc Redis InstallationBasic Info OS: CentOS 7.3 Redis Version: 4.0.6 Read more »