请注意,应用程序应定义main()
方法。
该程序只计算包含'a'的行数和Spark README中包含'b'的数字。请注意,您需要将YOUR_SPARK_HOME替换为安装Spark的位置。与之前使用Spark shell(初始化自己的SparkSession)的示例不同,我们将SparkSession初始化为程序的一部分。
我们调用SparkSession.builder
构造[[SparkSession]],然后设置应用程序名称,最后调用getOrCreate
获取[[SparkSession]]实例。
/* SimpleApp.scala */
import org.apache.spark.sql.SparkSession
object SimpleApp {
def main(args: Array[String]) {
val logFile = "YOUR_SPARK_HOME/README.md" // Should be some file on your system
val spark = SparkSession.builder.appName("Simple Application").getOrCreate()
val logData = spark.read.textFile(logFile).cache()
val numAs = logData.filter(line => line.contains("a")).count()
val numBs = logData.filter(line => line.contains("b")).count()
println(s"Lines with a: $numAs, Lines with b: $numBs")
spark.stop()
}
}