今天主要學習了sparksql的基礎概念,然後學習了一下機器學習中的聚類。
聚類,就是將一組資料中集中相似的樣本進行分類。屬於機器學習中的無監督學習方法(沒有目標值y)。今天主要學習了一下k-means演算法。k-means演算法是聚類中乙個十分常見的演算法。
最後,通過python自己實現了乙個k-means演算法。
今天學習了一下sparksql的簡單入門,首先匯入依賴:
org.apache.sparkgroupid>
spark-sql_2.12artifactid>
3.0.1version>
dependency>
我這裡使用的是3.0.1的spark。
然後就可以開始使用sparksql了:
/**
* @description:
* @author: liuge
* @date: 2021/1/30
*/object spark01_sparksql_basic
}.tods()
val userrdd: rdd[user] = ds1.rdd
// 關閉
spark.close()
} case class user(id:int,name:string,age:int)
}
這裡涉及幾個核心概念:dataset、dataframe:
dataframe: 在 spark 中,dataframe 是一種以 rdd 為基礎的分布式資料集,類似於傳統資料庫中的二維**。dataframe 與 rdd 的主要區別在於,前者帶有 schema 元資訊,即 dataframe所表示的二維表資料集的每一列都帶有名稱和型別。這使得 spark sql 得以洞察更多的結構資訊,從而對藏於 dataframe 背後的資料來源以及作用於 dataframe 之上的變換進行了針對性的優化,最終達到大幅提公升執行時效的的目標。反觀 rdd,由於無從得知所存資料元素的具體內部結構,spark core 只能在 stage 層面進行簡單、通用的流水線優化。
dataset: dataset 是分布式資料集合。dataset 是 spark 1.6 中新增的乙個新抽象,是 dataframe的乙個擴充套件。它提供了 rdd 的優勢(強型別,使用強大的 lambda 函式的能力)以及 spark sql優化執行引擎的優點。dataset 也可以使用功能性的轉換(操作 map,flatmap,filter等等)總的來說,這就是spark抽象出的兩個方便我們進行操作的概念,理解起來難度還是不是很大
大三寒假學習進度(6)
啟用函式輸出值的範圍 常見的啟用函式 優點 輸出對映在 0,1 之間,單調連續,輸出範圍有限,優化穩定,可用作輸出層 求導容易。缺點 易造成梯度消失 輸出非0均值,收斂慢 冪運算複雜,訓練時間長。優點 比sigmoid函式收斂速度更快。相比sigmoid函式,其輸出以0為中心。缺點 易造成梯度消失 ...
大三寒假學習進度(十七)
今天主要學習了機器學習十講的第四講,然後把sparkcore中的幾種常用運算元都學習完畢,用wordcount做了乙個小總結。今天的學習中,首先系統的分析了模型誤差出現的原因 用我自己理解的話說,模型空間限制了模型的表達能力,使得模型與真實資料之間存在乙個客觀的誤差,叫做逼近誤差。在了解了誤差的存在...
大三寒假學習進度(十四)
今天主要學習了資料酷客的機器學習十講的第一講和spark裡的轉移運算元 首先是這樣的乙個需求 1516609143867 6 7 64 16 1516609143869 9 4 75 18 1516609143869 1 7 87 12 1516609143869 2 8 92 9 15166091...