原创 spark(五)執行流程與stage劃分

一、任務流程 我們以生產中常用的yarn環境爲例 提交任務到yarn yarn申請分配資源 根據RDD流程構建DAG(有向無環圖) DAGsheduler將dag劃分及分解stage 根據分解的stage生成不同的task 將t

原创 spark並行度設置及submit參數

–spark submit spark-submit --conf spark.default.parallelism=40 --num-executors 5 --executor-cores 4 --executor-memo

原创 spark與Flink對比

批流理念不同 spark準確的說是批處理,Spark streaming是微批處理,spark底層都依賴於RDD flink是流式處理,批處理看做是有限的流處理 SQL sparksql支持的更好 flink一般,在完善中 機器學

原创 elasticsearch和kibana windows下載安裝

前提安裝jdk8並配置好環境變量 es官網:https://www.elastic.co/cn/products/elasticsearch 下載zip包解壓,在config配置文件elasticsearch.yml中添加xpa

原创 logback基本配置備忘

logback基本配置 如果使用的是springboot,默認是帶有logback依賴的,在resource下直接添加配置文件 logback-spring.xml 如果是spring需要自己引入依賴,配置文件爲logback.

原创 spark(四)廣播變量

一、廣播變量 在App中經常會用到List、MaP等變量。如果不適用廣播變量,默認每個task都會拉取一份副本到本地。廣播變量的好處,不是每個task一份變量副本,而是變成每個節點的executor才一份副本。這樣的話,就可以讓變

原创 Flink(一)Flink基礎

目錄1、Flink是什麼2、Flink的特性、優點2.1、流式模型,高吞吐、低延時2.2、豐富的時間語義,支持 Event Time2.3、良好的亂序數據處理能力2.4、高度靈活的窗口2.5、exactly-once 語義2.6、

原创 spark(六)序列化及多線程問題

一、序列化 我們這裏不討論什麼是序列化以及序列化有什麼作用、序列化方式等問題。此處我們只討論spark程序開發中序列化的一些問題 我們都知道spark程序實際計算時是在Executor上執行,因此Driver端的對象如果Execu

原创 spark(三)緩存與checkpoint

一、應用場景 緩存:將rdd所需的數據緩存到Executor的內存中,主要用於空間換時間,如某個spark任務期望執行時間在xx以內,目前達不到,此時在內存充足的情況下可以查看是否有重複利用的rdd數據,可以對該數據進行cach

原创 spark(一)spark中map與mapPartitions的區別

一、map與mapPartitions的區別 在 Spark 性能調優中,經常會被建議儘量用 mappartition 操作去替代 map 操作。但是也不一定是每種業務場景都是如此,我們先來說一下兩者的區別 map 操作:對 R

原创 spark(二)創建RDD時默認分區數

一、概述 Spark的分區數對於Spark性能調優很重要,如果分區數少,那麼並行執行的task就少,比如分區數爲1,即使你分配的Executor很多,而實際執行的Executor只有1個,如果數據量很大的話,那麼任務執行的就很慢,

原创 jdk環境變量

都配上,配少了後期可能會遇到一些問題 JAVA_HOME=D:\soft\jdk\jdk8 JRE_HOME=%JAVA_HOME%\jre CLASS_PATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME

原创 Flink之側輸出流和流的拆分

一、準備數據 首先構建一個DataStream case class Sensor(id: String, timestamp: Long, temperature: Double) 傳感器樣例類包含,傳感器id、時間戳、溫度 構

原创 Flink之Trigger與Evictor

一、概述 在Flink中,使用event-time模式時,默認提供的window有TumblingEventTimeWindows,SlidingEventTimeWindows,EventTimeSessionWindow等,其

原创 Hive之insert into與insert overwrite區別

兩者都可以向 hive 表中插入數據,但 insert into 操作是以追加的方式向 hive 表尾部追加數據,而 insert overwrite 操作則是直接重寫數據,即先刪除 hive 表的數據,再執行寫入操作。注意,如果