原创 spark-用戶畫像demo

參考文章:如何基於Spark進行用戶畫像 spark-用戶畫像demon  

原创 Scala 隱式(implicit)詳解

參考文章:Scala 隱式(implicit)詳解 文章正文 通過隱式轉換,程序員可以在編寫Scala程序時故意漏掉一些信息,讓編譯器去嘗試在編譯期間自動推導出這些信息來,這種特性可以極大的減少代碼量,忽略那些冗長,過於細節的代碼。 1、

原创 行式存儲和列式存儲優缺點和paruqet文件結構

參考文章:行式存儲和列式存儲優缺點和paruqet文件結構 一、列式存儲和行式存儲的比較 列式存儲和行式存儲是針對數據在存儲介質中的排序形式而言的,假設存在一張table,那麼: 行式存儲:依次連續存儲第1、2、3...行的數據到存儲介

原创 spark的RDD中的action(執行)和transformation(轉換)兩種操作中常見函數介紹

參考文章:spark的RDD中的action(執行)和transformation(轉換)兩種操作中常見函數介紹 spark常見的RDD 1. 函數概覽 2. 常見的Transformations 操作 2.1 value類型RDD的轉

原创 數據庫裏賬號的密碼,這樣存放最安全!

參考文章:數據庫裏賬號的密碼,這樣存放最安全! 最早在大學的時候,只知道用 MD5 來存用戶的賬號的密碼,但其實這非常不安全,而所用到的哈希函數,深入挖掘,也發現並不簡單…… 一、普通的 Hash 函數 哈希(散列)函數是什麼就不贅述了。

原创 開源認證組件Kerberos和CAS簡介

參考文章:CAS登錄認證 一、Kerberos 1. Kerberos原理和工作機制 概述:Kerberos的工作圍繞着票據展開,票據類似於人的駕駛證,駕駛證標識了人的信息,以及其可以駕駛的車輛等級。 1.1 客戶機初始驗證 1.2

原创 Spark爲何使用Netty通信框架替代Akka(TODO)

參考文章:Spark爲何使用Netty通信框架替代Akka 問題導讀: 1. spark 如何在1.6.0之後使用Netty替代了Akka? 2. Spark Network Common怎麼實現? 3. BlockTransfer 與

原创 SparkSql中Dataset(DataFrame)操作

參考文章:Spark SQL中的Encoder SparkSQL DataFrame和Dataset基本操作 【SparkSQL筆記】SparkSQL的Dataset操作大全(二) DataFrame操作 操作方式舉例: /* * 數據

原创 java代碼混淆(使用 ProGuard maven插件)

java代碼可以反編譯,因此有時候要保護自己的知識產權還真得費點心思,一般來說有三個思路: 1、將class文件加密,這個是最安全的,但也費事兒,因爲要重寫classloader來解密class文件; 2、使用花指令,使得class文件

原创 Java InputStream 轉換成 String

參考文章:Java InputStream 轉換成 String 如下, 一共存在11種實現方式及其對應的性能測試結果: 1. 使用IOUtils.toString (Apache Utils) String result = IOUt

原创 SpringBoot讀取配置文件的6種方式

參考文章:SpringBoot讀取配置文件的6種方式  配置文件: woman.properties woman.name=女人 woman.age=20 friend.sex=女 friend.age=111

原创 SparkRDD簡介

參考文章:spark的RDD中的action(執行)和transformation(轉換)兩種操作中常見函數介紹 spark常見的RDD spark的RDD中的action(執行)和transformation(轉換)兩種操作中常使用的函

原创 java代碼混淆(使用 ProGuard 工具)

參考文章: ProGuard簡介        ProGuard 是一個壓縮(shrink)、優化(optimize)和混淆(obfuscate) Java 字節碼文件的免費的工具。它可以刪除無用的類、字段、方法和屬性,可以刪除沒用的註

原创 Java終止線程的三種方式

參考文章:Java終止線程的三種方式 停止一個線程通常意味着在線程處理任務完成之前停掉正在做的操作,也就是放棄當前的操作。 在 Java 中有以下 3 種方法可以終止正在運行的線程: 使用退出標誌,使線程正常退出,也就是當 run()

原创 遠程提交Spark任務到yarn集羣

參考文章:在idea裏面怎麼遠程提交spark任務到yarn集羣 spark任務運行的幾種模式: 1,本地模式,在idea裏面寫完代碼直接運行. 2,standalone模式,需要把程序打jar包,上傳到集羣,spark-submit提