Spark學習筆記 Scala基礎(一)

2021-10-07 08:10:46 字數 1941 閱讀 2585

載入外部資料集

val rddtext=sc.textfile("hellospark.txt")

val:變數值不可修改,一旦分配不能重新指向別的值

var:分配後,可以指向型別相同的值

val lines=sc.textfile("hellospark.txt")

lines=sc.textfile("hellospark.txt")

var lines=sc.textfile("hellospark.txt")

lines=sc.textfile("hellospark2.txt")

lines.filter(line=>line.contains("world"))

定義乙個匿名函式,接受乙個引數line,使用line這個string型別變數上的contains方法,並且返回結果。line的型別不需要指定,能夠推斷出來。

transformations(轉換),從之前的rdd

構建乙個新的rdd,像map()和filter()

val lines=sc.parallelize(array("hello","spark","hello","world","!"))

lines.foreach(println)

hello

spark

hello

world

!

val lines2=lines.map(word=>(word,1))

lines2.foreach(println)

(hello,1)

(spark,1)

(hello,1)

(world,1)

(!,1)

inputs.foreach(println)

hello !

hello spark

hello world

val lines=inputs.flatmap(line=>line.split(" "))

lines.foreach(print)

hellosparkhelloworldhello! #拆開打散壓扁了

rdds支援數學集合的計算,例如並集,交集計算。

val rdd1=sc.parallelize(array("caffe","caffe","panda","monkey","tea"))

val rdd2=sc.parallelize(array("caffe","monkey","kitty"))

val rdd_distinct=rdd1.distinct()

rdd_distinct.foreach(println)

monkey

coffe

panda

tea

rdd_union=rdd1.union(rdd2)

rdd_union.foreach(println)

caffe

caffe

panda

monkey

teacaffe

monkey

kitty

val rdd_inter=rdd1.intersection(rdd2)

rdd_inter.foreach(println)

monkey

coffe

val rdd_sub=rdd1.subtract(rdd2)

rdd_sub.foreach(println)

teapanda

Spark學習鏈結 Scala

spark初學者學習鏈結 1.scala 官方 2.spark官方指南 3.spark 機器學習庫官方指南 4.spark rdd程式設計指南 2中也有 官方 5.spark dataframe dataset程式設計指南 2中也有 6.pyspark程式設計指南 7.工具書 learning sp...

Scala學習筆記

scala學習筆記 一.scala中集合的常用方法 首先定義兩個陣列集合,用於測試 scala val arr1 array 1,2,3,4 arr1 array int array 1,2,3,4 scala val arr2 array 3,4,5,6 arr2 array int array ...

Scala學習筆記

1 閉包 var a 3 var addfun x int x a var b addfun 10 println b addfun 就是個和物件無關的函式,區域性變數,使用方法和函式一樣,但是好像不推薦這種寫法。2 類的建立,簡單使用abstract class bparent 構造函式引數會自動...