原创 Json字符串轉Java Bean

最近在項目裏面需要從kafka推送的數據讀取數據,spark streaming處理,由於推過來的是Json字符串,需要轉換成dataFrame做進一步處理,但是Json字符串字段很多,而且還不固定;我想轉換代碼如下:

原创 Spark-SQL adaptive 自適應框架

一、自適應框架能解決什麼問題 1、目前SparkSQL中reduce階段的task個數取決於固定參數spark.sql.shuffle.partition(默認值200),一個作業一旦設置了該參數,它運行過程中的所有階段的redu

原创 spark streaming讀取kafka 零丟失(四)

在移動互聯網時代,處處都存在着實時處理或者流處理,目前比較常用的框架包括spark-streaming + kafka 等;由於spark-streaming讀取kafka維護元數據的方式有 1、通過checkpoint保存 2、

原创 spark批量寫入redis

最近工作中,在融合數據的時候,需要將10億+的記錄push到redis中,運維的同學幫忙搭建好redis集羣,100主 + 100 從 (單節點8G),最開始打算第一次批量寫入使用spark去寫入到redis,因爲數據存放在Hiv

原创 kafka 安裝配置

一、Zookeeper的安裝與配置 1.安裝 解壓安裝文件到zookeeper tar -zxf zookeeper-3.4.10.tar.gz 重命名 sudo mv zookeeper-3.4.10 /usr/local/

原创 spark-streaming使用spark-ML模型實時預測

不得不說Spark是一款優秀的計算引擎,繼承Spark-ML、Spark-Graphx機器學習和圖計算框架,Spark-ML一般用於離線分析和挖掘,生成模型。 如果我們把模型保存在HDFS,需要在實時計算裏面使用提前訓練好的模型,

原创 Spark-SQL處理小文件問題

一、小文件產生的原因 1、在使用spark sql處理數據的過程中,如果有shuffle產生,依賴於spark.sql.shuffle.partitions配置信息,默認爲200,當處理的數據量比較大時,通常會把該值調大,以避免單

原创 kafka各版本差異

kafka-0.8.2 新特性   producer不再區分同步(sync)和異步方式(async),所有的請求以異步方式發送,這樣提升了客戶端效率。producer請求會返回一個應答對象,包括偏移量或者錯誤信。這種異步方地批量

原创 spark-streaming 讀取kafka的方式

Spark-Streaming獲取kafka數據的兩種方式-Receiver與Direct的方式,可以從代碼中簡單理解成Receiver方式是通過zookeeper來連接kafka隊列,Direct方式是直接連接到kafka的節點

原创 spark內存管理模塊

Spark 作爲一個基於內存的分佈式計算引擎,其內存管理模塊在整個系統中扮演着非常重要的角色。理解 Spark 內存管理的基本原理,有助於更好地開發 Spark 應用程序和進行性能調優。本文旨在梳理出 Spark 內存管理的脈絡,

原创 spark java.lang.OutOfMemory, unable to create new native thread

如果出現如下錯誤: java.lang.OutOfMemory, unable to create new native thread Caused by: java.lang.OutOfMemoryError: unable

原创 java 正則去除中文標點符號

在作文本分析,尤其是分詞的時候,我們需要把不需要的標點符號去除,防止在詞轉向量的時候,把中文符號添加進去。 "[\\pP+~$`^=|<>~`$^+=|<>¥×]" "[\\p{P}+~$`^=|<>~`$^+=|<>¥×]" 我

原创 spark on yarn

1、spark-default export SPARK_LOCAL_DIRS=/home/hadoop/spark/tmp export SPARK_HOME=/usr/install/spark 2、spark-env /

原创 spark mllib HashingTF解析

在處理文本數據,尤其是自然語言處理的場景中,hashingTF使用的比較多; Mllib使用hashing trick實現詞頻。元素的特徵應用一個hash`函數映射到一個索引(即詞),通過這個索引計算詞頻。這個方法避免計算全局的詞

原创 spark mllib CountVectorizer源碼解析

CountVectorizer和CountVectorizerModel旨在通過計數來將一個文檔轉換爲向量。當不存在先驗字典時,Countvectorizer可作爲Estimator來提取詞彙,並生成一個CountVectoriz