1、spark-submit app.py
2、默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读
本地文件读取 sc.textFile("路径").在路径前面加上file:// 表示从本地文件系统读,如file:///home/user/spark/README.md
3、
scala> val file=sc.textFile("hdfs:///user/hadoop/input_file.txt") #hdfs上的文件中径为:/user/hadoop/input_file.txt
(在pyspark中,路径可以定为:hdfs:/user/hadoop/input_file.txt也是对的)
scala> val count=file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_)
scala> count.collect() 输出结果
scala> count.saveAsTextFile("hdfs:///user/hadoop/result") 存放到result目录下
4、scala如何用异常提前终止程序?不用异常也可以,用import scala.util.control.Breaks._中的break来退出for循环。
5、
scala> def corresponds[A,B,C](a:A)(b:B)(f:(A,B)=>C):C={
| f(a,b)
| }
corresponds: [A, B, C](a: A)(b: B)(f: (A, B) => C)C
scala> corresponds("ab")("aB")(_.equalsIgnoreCase(_))
res5: Boolean = true
6、
import scala.reflect.runtime.universe.typeOf
import scala.reflect.{classTag, ClassTag}
import scala.reflect.runtime.universe._
7、
F:\zz工作\scala_work>scalac -Xpluginsdir D:\scala\lib -P:continuations:enable sh
ift_ex2.scala
F:\zz工作\scala_work>scala Shift_ex2
9
8、
F:\zz工作\scala_work>scala -Xpluginsdir D:\scala\lib -P:continuations:enable
Welcome to Scala 2.11.8 (Java HotSpot(TM) Client VM, Java 1.8.0_65).
Type in expressions for evaluation. Or try :help.
scala> import scala.util.continuations._
import scala.util.continuations._
scala> val result = reset {
| 1 + shift { k: (Int => Int) => k(k(5)) } + 1
| }
result: Int = 9
scala> println(result)
9
9、(待续)