スパークベースのスカラ

最近、プロジェクトのニーズからビッグデータに触れ始め、ハドゥープとスパークについて学びました。C++プログラマーにとって、ビッグデータはまったく新しいものです。

1.Scala機能プログラミング

変数と同様に、関数は関数のパラメーターとして使用することも、変数に割り当てることもできます。

object App
{
	def main(args:Array[String]):Unit=
	{
		def fun(str1:String,str:String)=
		{	
			str+"\t"+str2
		}
		println(fun("Spark","Hadoop"))
		//将函数赋值给一个变量
		val add=(str1:String,str2:String)=>str+"\t"+str2
		println(add("Spark","Hadoop"))
		//将函数做为参数使用
		def g(f:(String,String)=>String,str1:String,str2:String)=
		{
			val line=f(str1,str2)
			println(line)
		}
		g(add,"spark","Hadoop")
	}
}
运行结果
Spark Hadoop
Spark Hadoop
Spark Hadoop

2.高次関数 

Scalaには2つのタイプの高次関数があります。1つは関数をパラメーターとして受け取る関数を高次関数と呼び、もう1つは関数を返す関数を高次関数と呼びます。



object App
{
	def main(args:Array[String]):Unit=
	{
		val sayHello:()=>Unit=()=>println("Hello")
		//高阶函数的第一种:将函数作为参数的函数
		def g(f:()=>Unit,num:Int)=
		{
			for(i<-1 to num) f()
		}
		g(sayHello,3)
		//高阶函数的第二种:返回值是函数的函数
		def saySomething(str1:String)=(str2:String)=>println(str1+"\t"+str2)
		val aa:String=>Unit=saySomething("Spark")
		aa("Hadoop")
	}
	
}
运行结果
Hello
Hello
Hello
Hello
Spark Hadoop

SparkRDDのいくつかの操作

http://dblab.xmu.edu.cn/blog/990-2/

おすすめ

転載: blog.csdn.net/lcalqf/article/details/80976299