原创 scala的模式匹配

scala提供了一個非常強大的模式匹配機制,那什麼是模式匹配呢?模式匹配是檢查某個值(value)是否匹配某一個模式的機制,一個成功的匹配同時會將匹配值解構爲其組成部分。它是Java中的switch語句的升級版,同樣可以用於替代一系列的

原创 spark讀取hbase數據(newAPIHadoopRDD方式)

用spark讀取hbase數據的方法有很多種,今天就用spark內置的方法newAPIHadoopRDD來實現了一個簡單的demo,代碼非常簡單,就不加註釋了. spark寫入hbase的可以看之前的兩篇文章 https://blog.c

原创 spark的UDAF使用

什麼是UDAF? UDAF(User Defined Aggregate Function),即用戶定義的聚合函數,聚合函數和普通函數的區別是什麼呢,普通函數是接受一行輸入產生一個輸出,聚合函數是接受一組(一般是多行)輸入然後產生一個輸出

原创 Flink的UI使用介紹

最近也是由於電腦出了一點問題,就沒有更新,今天主要來介紹一下Flink的web ui的使用,我們先提交一個job上去(我的集羣是on yarn的),命令如下: flink run  -m yarn-cluster -c flink.win

原创 Flink寫入mysql

Flink寫入mysql其實也很簡單,只用繼承RichSinkFunction這個類,重寫裏面的方法就行了.具體的實現如下: /** * 把結果保存到mysql裏面 */ class MySQLSink extends Rich

原创 spark自定義分區的實現

spark默認是提供了兩種分區器,HashPartitioner和RangePartitioner,但是有的時候不能滿足我們實際的需求,這個時候我們可以自定義一個分區器,也非常的簡單.看下面一個demo,把key是偶數的放到一個分區,ke

原创 scala中怎麼跳出循環

在java中跳出循環的時候,我們可以直接break就行了,但是在scala裏面沒有break,那怎麼跳出循環呢? 直接看下面的demo: package test import scala.util.control.Breaks o

原创 我開通了知識星球

大家可能發現我最近的Blog一直沒有更新,因爲我最近有點忙,也剛開通了知識星球,並且在寫Flink的系列文章,目前寫了20多篇,等Flink系列整理完之後,會寫sparkstreaming,structuredstreaming,spar

原创 spark各種報錯彙總

這篇文章主要記錄下spark中遇到的各種問題,以及解決方法(以後會持續的更新) 1.File does not exist. Holder DFSClient_NONMAPREDUCE_-67513653_1 does not have

原创 datax從mysql導入數據到mysql

DataX是阿里開源數據同步工具,實現異構數據源的數據同步,Github地址:https://github.com/alibaba/DataX,企業存儲離線數據到數倉,但是沒辦法對接業務,本次實踐主要是運用DataX實現數據從數倉導入到M

原创 spark on yarn模式安裝和配置carbondata

本節將介紹如何在 Spark on YARN 模式的集羣上安裝和配置 CarbonData。carbondata1.5.1的編譯可以看上一篇 版本:spark2.3.1,carbondata1.5.1 前置條件 Hadoop HDFS 和

原创 Flink累加器的使用(accumulator)

Flink的Accumulator即累加器,與Saprk Accumulator 的應用場景差不多,都能很好地觀察task在運行期間的數據變化 可以在Flink job任務中的算子函數中操作累加器,但是只能在任務執行結束之後才能獲得累加器