安装完Spark后,想要马上体验一下Spark程序开发,可以通过Spark-Shell金星交互式编程环境
spark-shell提供的简单的方式来进行Spark API的体验,在这个环境下输入一条指令语句,它会立即执行语句并返回结果。
spark-shell 支持 scala语言和python语言,使用spark-shell命令默认是使用scala,使用pyspark是使用python环境
其他shell工具只能使用单机的硬盘和内存来操作数据,而spark-shell可用来与分布存储在多台机器上的内存或者硬盘进行数据的交互,处理过程中的分发由spark自动控制完成,不需要用户参与。
如果之前已经设置好了Spark的环境变量以及配置文件的配置,那么在任意目录下执行spark-shell指令,都能进入spark-shell环境
进入spark-shell的模式有多种,上面我们进入的方式没有给命令后面加什么参数.默认使用local[*] 模式启动,local模式代表单机模式,*代表使用几个CPU核数,也就线程数进行模拟Spark集群。
spark-shell命令以及参数
spark-shell --master <master-url>
例如:
spark-shell --master local[4]
master-url的取值:
local :默认是一个本地化线程运行
local[*] :使用逻辑CPU个数(cpu真实数*核数)相同数量的线程来本地化运行Spark
local[N] :N个Worker线程运行Spark
spark://ip或者host名字:port :Spark采用独立集群模式,连接到指定集群,端口默认7077
yarn-client :采用Yarn集群模式 该模式适合于开发测试阶段,不能关掉client
yarn-cluster :以集群模式连接yarn集群,常用语企业生产环境
mesos://ip或者host名字:port :采用Mesos集群模式,连接到指定的Mesos集群,默认端口5050