原创 windows上傳文件到虛擬機的hdfs上

org.apache.hadoop.security.AccessControlException: Permission denied: user=ASUS, access=WRITE, inode 今天在windows連接虛擬

原创 Flink的WaterMark詳解

WaterMark是什麼? 在瞭解Flink的WaterMark之前先要了解Flink的時間語義。在Flink裏面有三種時間語義: ①Even Time:事件創建的時間,時間在數據裏面。 ②Ingestion Time:數據進

原创 Hive管理表和外部表的區別

前言: 所謂外部表,就是Hive並非認爲其完全擁有這份數據。刪除該表並不會刪除掉這份數據,不過描述表的元數據信息會被刪除掉。關於Hive數據倉庫的管理表(MANAGED_TABLE)和外部表(EXTERNAL_TABLE)的區別,

原创 mysql把數據插入order表出錯

今天遇到一個很坑的錯誤,在java中寫好dao和dto後,寫了一個插入訂單表的測試方法,代碼如下: package cn.edu.lingnan.dto; public class Order { private String

原创 Spark Hello World以及RDD簡述

RDD是什麼 RDD英文單詞全稱爲Resilient Distributed Datase,叫做彈性分佈式數據集,是Spark中最基本的數據抽象。代碼中是一個抽象類,它代表一個不可變、可分區、裏面的元素可並行計算的集合。不可變、

原创 RDD編程之RDD的創建

在Spark中創建RDD的創建方式可以分爲三種:從集合中創建RDD;從外部存儲創建RDD;從其他RDD創建。 創建RDD之前要先創建spark上下文對象: val conf = new SparkConf().setMaster(

原创 MapReduce對數據進行二次排序

今天做了個用MapReduce對數據進行二次排序,這裏的重點在於排序,所以要重寫WritableComparator的排序方法compare方法,這裏要注意一下的返回值如果返回-1就是升序排序,返回1就是降序排序。謹以此文章來記錄

原创 spark累加器

spark中有三大數據結構,它們分別是RDD(彈性分佈式數據集)、累加器(分佈式只寫變量)和廣播變量(分佈式只讀變量)。spark累加器就是定義在驅動程序的一個變量,但是在集羣中的每一個任務都會有一份新的副本。在各個任務中更新副本

原创 RDD的任務劃分

RDD任務切分中間分爲:Application、Job、Stage和Task。Application->Job->Stage-> Task每一層都是1對n的關係。 1)Application:初始化一個SparkContext即生

原创 RDD的依賴關係

文章目錄Lineage(血統)窄依賴寬依賴DAG(有向無環圖) Lineage(血統) 在spark中,數據的處理和計算都是通過RDD的轉換進行的。由於RDD是不可變的,在轉換的過程中就會生成新的RDD。而這些RDD的順序就形成了

原创 RDD中的函數和屬性傳遞

在spark中,RDD的創建和初始化是在Driver中執行的,而實際操作是在Executor中進行。如果要涉及到傳遞一些方法或者屬性的時候,那麼就要序列化之後才能進行傳遞。下面用兩個例子來進行說明: 函數的傳遞 先看代碼: o

原创 RDD緩存和CheckPoint

RDD緩存 RDD的緩存是把RDD保存在內存中,爲後續重用提供數據支持。RDD的緩存可以提高系統的容錯性。RDD的緩存提供了兩種方法。分別是persist方法和cache方法,那麼這兩個方法有什麼區別呢?通過查看源碼發現,cach

原创 Scala變量使用的注意事項

聲明變量時,類型可以省略(即類型推斷) 即可以像下圖一樣,聲明變量時,可以寫變量的類型,也可以不寫,Scala有類型推斷機制,會推斷變量的類型。 object scala_var { def main(args: Arra

原创 Spark on YARN任務提交流程

Spark on YARN是spark運行在yarn上,其中有yarn-client和yarn-cluster兩種模式,它們的區別在於Driver運行的結點位置。 yarn-client模式 yarn-client模式下的spa

原创 Scala的HelloWorld詳解

Scala的HelloWorld如下: object Hello { def main(args: Array[String]): Unit = { print("hello world") }