Spark入门(一)--用Spark-Shell初尝Spark滋味
Spark-Shell的使用
执行scala命令的spark-shell
进入spark的sbin目录,打开键入
./spark-shell
即可进入spark-shell的目录
spark-shell运行过程从上层来看,每一个spark应用都是由驱动器程序发起集群上的并行操作,在spark-shell中驱动器程序就是spark-shell本身。驱动器通过SparkContext对象来访问spark。事实上在shell启动时就创建了一个SparkContext的对象,其变量是sc,通过shell来查看sc如下
通过sc来读取文件:
hello文件中的内容为
u'you,jump
i,jump
you,jump
i,jump
u,jump
我们在命令行键入
val lines = sc.textFile("/spark/hello”)
lines.count()
lines.first()
这里注意到,由于我的sapark是在hadoop集群环境下的,所以这里完整的目录可以理解成hdfs:///spark/hello。
以上这条命令,就把spark目录下hello文件装载到sc当中,但事实上,由于spark的懒加载,此时的文件只有在被操作时才会真正被读取,即lines.count()和lines.first()被执行时,才回去读取内容
执行python命令的spark-shell
当然我们也可以用进入执行python命令的spark-shell。方法如下 进入spark的sbin目录,打开键入
./pyspark-shell
通过python-shell统计hadoop文件目录下的 /spark/hello文件,如下
lines = sc.textFile('/spark/hello’)
lines.count()
lines.first()
结果如下:
到这里我们的spark-shell就算是正常执行,其中
读取/spark/hello文件:
lines = sc.textFile('/spark/hello’)
获取总行数:
lines.count()
第一行内容:
lines.first()