原创 第35講:List的map、flatMap、foreach、filter操作代碼實戰

List的Map函數的作用:map的參數是一個函數,List中的每個元素都應用於這個函數,並且返回一個新的集合。例如我們有一個List(1,2,3,4) ,我們需要構建List(2,4,6,8)那麼我們就可以使用Map函數,傳入一個*2的函

原创 第42講:Scala中泛型類、泛型函數、泛型在Spark中的廣泛應用

泛型:通俗的講,比如需要定義一個函數,函數的參數可以接受任意類型。我們不可能一一列舉所有的參數類型重載(overload)函數。那麼程序引入了一個稱之爲泛型的東西,這個類型可以代表任意的數據類型。例如List,在創建List時,可以傳入××

原创 第40講:Set、Map、TreeSet、TreeMap操作代碼實戰

代碼示例:package com.dt.scala.dataset object Set_Map {   def main(args: Array[String]): Unit = {     // Set 集合,集合中的數據是不可重複的

原创 第53課:Hive 第一課:Hive的價值、Hive的架構設計簡介

一、 Hive的歷史價值1, 大數據因Hadoop而知名,而Hadoop又因Hive而實用。Hive是Hadoop上的Killer Application,Hive是Hadoop上的數據倉庫,同時Hive兼具有數據倉庫中的存儲和查詢引擎。而

原创 第36講:List的partition、find、takeWhile、dropWhile、span、forall、exsists操作代碼實戰

partition函數:對列表進行分組,參數傳入一個布爾表達式,返回true的一組,返回false的一組。只能分成兩組scala>  val list = List(1,2,3,4) scala>  list.partition(_ % 2

原创 第37講:List的foldLeft、foldRight、sort操作代碼實戰

請看代碼示例:package com.dt.scala.dataset object List_Fold_Sort {   def main(args: Array[String]): Unit = {     //Fold是摺疊的意思,

原创 第45講:Scala中Context Bounds代碼實戰及其在Spark中的應用源碼解析

與view bounds一樣context bounds(上下文界定)也是隱式參數的語法糖我們使用view bounds的方式的寫法如下:class Pairs[T <% Comparable[T]](first: T,second:T){

原创 第39講:ListBuffer、ArrayBuffer、Queue、Stack操作代碼實戰

代碼示例:package com.dt.scala.dataset import scala.collection.immutable.Queue object ListBuffer_ArrayBuffer_Queue_Stack {   

原创 第43講:Scala中類型變量Bounds代碼實戰及其在Spark中的應用源碼解析

類型變量的界定:類型變量的上界,類型變量的下界。上界就是類型必須是界定類型的子類,看如下示例:package com.dt.scala.type_parameterization // 我們需要定義一個泛型類Pair,泛型類中有一個big

原创 IMF前期知識儲備-What is Spark詳細講解(四大特性)

Spark 官方網站使用如下簡潔的語言描述了Spark我們可以從中提取出如下信息:Spark是一個引擎快速通用Spark可以用來處理數據數據是大規模的Spark本身並不提供數據存儲能力,它只是一個計算框架它的快速體現在什麼地方呢?如果處理的

原创 第38講:List伴生對象操作方法代碼實戰

代碼示例:object ListObjectOps {   def main(args: Array[String]): Unit = {     // 構造List     //apply方法     println(List.apply

原创 第6課:精通Spark集羣搭建與測試

準備3臺虛擬機 一、安裝Linux虛擬機如無特殊說明,以下步驟每臺機器上都執行使用ubuntukylin-14.04.2-desktop-amd64安裝包,安裝ubuntu系統。1.1 爲了避免權限問題,啓用root用戶。參考 http:/

原创 第44講:Scala中View Bounds代碼實戰及其在Spark中的應用源碼解析

我們先看一下變量界定的代碼package com.dt.scala.type_parameterization class Pair_NoPerfect[T <: Comparable[T]](first: T,second:T){   

原创 第54課:Hive集羣安裝和測試

一、Hive集羣安裝1,安裝好Hadoop,並啓動HDFS和YARN。2,下載hive 1.2.1 http://apache.fayea.com/hive/hive-1.2.1/  apache-hive-1.2.1-bin.tar.gz

原创 第56課:Spark SQL和DataFrame的本質

一、Spark SQL與DataframeSpark SQL之所以是除Spark core以外最大和最受關注的組件的原因:a) 能處理一切存儲介質和各種格式的數據(你同時可以方便的擴展Spark SQL的功能來支持更多的數據類型,例如KUD