spark shell编程基础知识

shell编程提供对spark api最简单,也是最直接的调用。

支持两种脚本语言:scala、python。

启动shell编程: ./bin/spark-shell.sh

执行顺序是:spark-shell-->spark-submit-->spark-class

spark-shell启动时,最好启动hadoop.

最好启动master、slaves,这样能通过http://localhost:8080 webUI查看

附其它hadoop程序的webUI查看端口号

  • port 8088: cluster and all applications

  • port 50070: Hadoop NameNode

  • port 50090: Secondary NameNode

  • port 50075: DataNode

注意事项:

spark-shell在一次开关机过程中,不能多次启动。

否则,在下次启动时,容易失败。出现比如SparkContext初始化失败、sqlContext失败、sql失败、以及java.net.BindException: 无法指定Service 'sparkDriver' failed。

spark-shell启动时,master、slaves可以不启动。这样spark程序作为一个单进程在本地跑(我的理解)。

spark-shell启动时,hadoop的dfs可以不启动,即jps查看时,看不到namenode、datanode。如果文件地址在dfs上,就需要启动hadoop了。

shell运行例子:val textFile = sc.textFile("file:////usr/local/spark/README.md")。能成功。

如果文件在dfs上,命令形如:scala> val textFile = sc.textFile("hdfs://127.0.0.1:9000/user/hadoop/input/invertedIndexFile1.txt")。运行也能成功。

运行玩的结果,可以写入dfs文件,也可写回本地。

写到dfs:scala> counts.saveAsTextFile("hdfs://127.0.0.1:9000/user/hadoop/input/")  

写到本地:scala> counts.saveAsTextFile("file:///home/hadoop/111")。注意,111和input是文件夹。


其他知识:

各个webUIt查看端口


参考文章

1、http://spark.apache.org/docs/latest/quick-start.html(官方文档)

2、http://blog.csdn.net/god_wot/article/details/50634975

你可能感兴趣的:(spark)