Scala入門

學(xué)習(xí)之前需要了解幾個(gè)內(nèi)容:

1.Scala目前的地位

大數(shù)據(jù)而生

2.Scala可以做什么

spark底層代碼是scala編寫,所以可以編寫spark

3.Scala與java的區(qū)別

Scala是一個(gè)函數(shù)式語(yǔ)言奸鬓,在某種意義上來講所有函數(shù)都是數(shù)值歧蕉。

開始學(xué)習(xí)

一.Scala基礎(chǔ)

1.需要先集成scala環(huán)境

如何用Intellij IDEA寫scala 搭建scala開發(fā)環(huán)境_百度經(jīng)驗(yàn)

2.直接上代碼了(必須有c或者java基礎(chǔ))

import scala.collection.mutable.ArrayBuffer

import scala.collection.mutable.Map

object Hello {

? def main(args:Array[String]):Unit = {

? ? println("hehe")

? ? val x = 10

? ? val result = {

? ? ? if (x>5)

? ? ? ? {1}

? ? ? else

? ? ? ? {

? ? ? ? ? "haha"

? ? ? ? }

}

? ? println(result)

}

? for(i <-1 to 3 ; j <-1 to 3 ) {

? ? println("i=" +i +"j=" +j)

}

? val v = for( i <-1 to 10 ) yield i *10

? println(v)

? val s = Array(1,2,3)

? val t = for(i <-s ) yield i *10

? for(k <-0 until t.length)

? println(t(k));

? def m1(x:Int,y:Int) :Int =? x *y

? println(m1(8,9))

? val r = 1 to 10

? val f1 = (x:Int) =>x *10

? val f2 = (y:Int) =>y *10

? val w = r.map(f1)

? for(i <-0 until w.length )

? print(w(i))

? val u =? r.map(_ *100)

? for(i <-0 until w.length )

? ? print(u(i))

? print(u.toBuffer)

? val? func :Int =>String = { y =>y.toString }

? println(func(10))

? val reverse :(Int,Double) =>(Double,Int) = { (x,y) =>(y,x)}

? print(reverse(3,3.01))

? // 神奇的下劃線

? val m2 = m1 _

print(m2(3,4));

? val arr3 = Array(1,2,3)

? val arr4 = for(i <-arr3) yield i*10

? print(arr4.toBuffer)

? val ab = ArrayBuffer[Int]()

? ab += 1

? ab ++= Array(2,3)

? ab.insert(0,0)

? ab += 4

? print(ab)

? val ac = ab.filter( _ %2 ==0 ).map(_ *10).sortWith(_>_)

? print(ac)

? val map1 = Map("i" -> 1)

? val map2 = Map("j" -> 2)

? map1("k") = 3

? map1 += ("o" -> 4)

? map2("j")=10

? println("map:"+map1.toBuffer)

? println("map:"+map2.toBuffer)

? //元組從1開始

? val vs = (1,"spark",3.0)

? print(vs._2)

? val pa = ("l",3)

? map2 += pa

? map2 += (("h",10),("g",11))

? println("map:"+map2.toBuffer)

? val list1? = List(1,2.3)

? val list2? =? 0 :: list1

? println(list1)

? println(list2)

}

二.spark之一個(gè)RDD

import org.apache.spark.{SparkConf, SparkContext}

object HigthRdd {

? def main(args:Array[String]):Unit = {

? ? val conf = new SparkConf().setAppName("high-rdd")

? ? val sc = new SparkContext(conf)

? ? /*

val rdd1 = sc.parallelize(List(1,2,3,4,5,6,7,8,9), 2)

val func = (index: Int, iter: Iterator[(Int)]) => {

iter.toList.map(x => "[partID:" +? index + ", val: " + x + "]").iterator

}

rdd1.mapPartitionsWithIndex(func).collect

*/

? ? def func1(index:Int, iter:Iterator[(Int)]) :Iterator[String] = {

? ? ? iter.toList.map(x =>"[partID:" +index +", val: " +x +"]").iterator

? ? }

? ? val rdd1 = sc.parallelize(List(1,2,3,4,5,6,7,8,9), 2)

? ? val a= rdd1.mapPartitionsWithIndex(func1).collect()

? ? print(a)

}

}


二.spark之worldcount

object Worlds {

? def main(args:Array[String]) {

? ? val words = List("haha hehe heihei heihei", "hehe heihei")

? /* val line = words.map(_.split(" ")).flatten

println(line.toBuffer)

*/

? ? val a1 = words.flatMap(_.split(" "))

? ? println(a1)

? ? val a2 = a1.map((_, 1))

? ? println(a2)

? ? val a3 = a2.groupBy(_._1)

? ? println(a3)

? ? val a4 = a3.map(t =>(t._1, t._2.size))

? ? println(a4)

? ? val a5 = a4.toList.sortBy(_._2).reverse

? ? println(a5)

? /* val aa = words.flatMap(_.split(" ")).map((_, 1)).groupBy(_._1).map(t => (t._1, t._2.size)).toList.sortBy(_._2).reverse

println(aa)*/

? ? val aa= words.flatMap(_.split(" ")).map((_,1)).groupBy(_._1).map( t =>(t._1,t._2.size)).toList.sortBy(_._2)

? ? println("aa"+aa)

}

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末啥纸,一起剝皮案震驚了整個(gè)濱河市迟螺,隨后出現(xiàn)的幾起案子赶掖,更是在濱河造成了極大的恐慌,老刑警劉巖达箍,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件没龙,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡缎玫,警方通過查閱死者的電腦和手機(jī)硬纤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赃磨,“玉大人筝家,你說我怎么就攤上這事×诨裕” “怎么了溪王?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵腮鞍,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我在扰,道長(zhǎng)缕减,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任芒珠,我火速辦了婚禮桥狡,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘皱卓。我一直安慰自己裹芝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布娜汁。 她就那樣靜靜地躺著嫂易,像睡著了一般。 火紅的嫁衣襯著肌膚如雪掐禁。 梳的紋絲不亂的頭發(fā)上怜械,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音傅事,去河邊找鬼缕允。 笑死,一個(gè)胖子當(dāng)著我的面吹牛蹭越,可吹牛的內(nèi)容都是我干的障本。 我是一名探鬼主播,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼响鹃,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼驾霜!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起买置,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤粪糙,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后忿项,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體猜旬,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年倦卖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了洒擦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡怕膛,死狀恐怖熟嫩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情褐捻,我是刑警寧澤掸茅,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布椅邓,位于F島的核電站,受9級(jí)特大地震影響昧狮,放射性物質(zhì)發(fā)生泄漏景馁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一逗鸣、第九天 我趴在偏房一處隱蔽的房頂上張望合住。 院中可真熱鬧,春花似錦撒璧、人聲如沸透葛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)僚害。三九已至,卻和暖如春繁调,著一層夾襖步出監(jiān)牢的瞬間萨蚕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工蹄胰, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留岳遥,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓烤送,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親糠悯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子帮坚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Scala與Java的關(guān)系 Scala與Java的關(guān)系是非常緊密的!互艾! 因?yàn)镾cala是基于Java虛擬機(jī)试和,也就是...
    燈火gg閱讀 3,427評(píng)論 1 24
  • Scala學(xué)習(xí)筆記: 1.1 scala的基礎(chǔ)語(yǔ)法 聲明與定義(賦值):聲明變量時(shí)可以指定類型,不指定也可以自動(dòng)識(shí)...
    哎喲喂嘍閱讀 560評(píng)論 0 2
  • 3.數(shù)組纫普、映射阅悍、元組、集合 3.1數(shù)組 3.1.1定長(zhǎng)數(shù)組和變長(zhǎng)數(shù)組 object ArrayDemo {def ...
    G__yuan閱讀 513評(píng)論 0 2
  • 作者/胄寧 好想消失在這茫茫人海中昨稼, 抽空回憶节视, 放棄自己堅(jiān)守的一切, 喝一杯不夾雜惆悵的酒假栓, 寢一宿不想你的夜寻行,...
    胄寧閱讀 302評(píng)論 0 2
  • 我家陽(yáng)臺(tái)上養(yǎng)著兩盆花,一盆是蟹爪蘭匾荆,花開三層拌蜘;另一盆也是蟹爪蘭杆烁,雖一層,但花枝曳地简卧。那是2004年秋兔魂,我用...
    魯芒閱讀 288評(píng)論 0 1