原创 spark是什麼?spark和MapReduce的區別?spark爲什麼比hive速度快?

spark是什麼? spark是針對於大規模數據處理的統一分析引擎,通俗點說就是基於內存計算的框架 spark和hive的區別? 1.spark的job輸出結果可保存在內存中,而MapReduce的job輸出結果只能保存在磁盤中,io讀取

原创 map和reduce個數怎麼確定?

閱讀本文可以帶着下面問題:1.map和reduce的數量過多會導致什麼情況?2.Reduce可以通過什麼設置來增加任務個數?3.一個task的map數量由誰來決定?4.一個task的reduce數量由誰來決定?一般情況下,在輸入源是文件的

原创 kafka整合sparkStreaming問題

(1)、如何實現sparkStreaming讀取kafka中的數據 可以這樣說:在kafka0.10版本之前有二種方式與sparkStreaming整合,一種是基於receiver,一種是direct,然後分別闡述這2種方式分別是什麼

原创 spark中的常用算子區別(map、mapPartitions、foreach、foreachPartition)

map:用於遍歷RDD,將函數f應用於每一個元素,返回新的RDD(transformation算子)。 foreach:用於遍歷RDD,將函數f應用於每一個元素,無返回值(action算子)。 mapPartitions:用於遍

原创 Zookeeper集羣有什麼用?

一,命名服務(用到了zookeeper的文件系統) 命名服務是指通過指定的名字來獲取資源或者服務的地址,利用zk創建一個全局的路徑,提供服務的地址或者一個遠程的對象等等。(Dubbo就是用zookeeper作爲服務註冊中心的) 二,配置管

原创 spark 如何防止內存溢出

driver端的內存溢出 可以增大driver的內存參數:spark.driver.memory (default 1g) 這個參數用來設置Driver的內存。在Spark程序中,SparkContext,DAGScheduler

原创 如何解決spark中的數據傾斜問題

發現數據傾斜的時候,不要急於提高executor的資源,修改參數或是修改程序,首先要檢查數據本身,是否存在異常數據。 1、數據問題造成的數據傾斜 找出異常的key 如果任務長時間卡在最後最後1個(幾個)任務,首先要對key進行抽樣分

原创 flume整合sparkStreaming問題

(1)、如何實現sparkStreaming讀取flume中的數據 可以這樣說: 前期經過技術調研,查看官網相關資料,發現sparkStreaming整合flume有2種模式,一種是拉模式,一種是推模式,然後在簡單的聊聊這2種模式的

原创 scala語言實現排序

(1)冒泡排序: package cn.itcast.sort //冒泡排序 class BubbleSort { def main(args: Array[String]): Unit = { val list =

原创 spark中如何劃分stage

1.Spark Application中可以因爲不同的Action觸發衆多的job,一個Application中可以有很多的job,每個job是由一個或者多個Stage構成的,後面的Stage依賴於前面的Stage,也就是說只有前面依賴

原创 spark中的數據傾斜的現象、原因、後果

(1)、數據傾斜的現象 多數task執行速度較快,少數task執行時間非常長,或者等待很長時間後提示你內存不足,執行失敗。 (2)、數據傾斜的原因 數據問題 1、key本身分佈不均衡(包括大量的key爲空) 2、key的

原创 spark中的RDD是什麼,有哪些特性

RDD(Resilient Distributed Dataset)叫做分佈式數據集,是Spark中最基本的數據抽象,它代表一個不可變、可分區、裏面的元素可並行計算的集合。 Dataset:就是一個集合,用於存放數據的 Distri

原创 什麼是數據傾斜以及造成的原因

在做Shuffle階段的優化過程中,遇到了數據傾斜的問題,造成了對一些情況下優化效果不明顯。主要是因爲在Job完成後的所得到的Counters是整個Job的總和,優化是基於這些Counters得出的平均值,而由於數據傾斜的原因造成map處

原创 hive和mysql(傳統數據庫)的區別

1.查詢語言不同:hive是hql語言,mysql是sql語句; 2.數據存儲位置不同:hive是把數據存儲在hdfs上,而mysql數據是存儲在自己的系統中; 3.數據格式:hive數據格式可以用戶自定義,mysql有自己的系統定義格式

原创 數據倉庫和數據庫的區別

1、最直白的區別:數據倉庫是面向主題,存儲的是歷史數據。數據庫是面向事務,存儲的都是當前在線交易的業務數據; 2、數據倉庫是儘量引入冗餘數據,保證數據的完整性,採用反範式設計。而數據庫是儘量避免數據冗餘,採用的是範式規則; 3、本質區別: