上QQ阅读APP看书,第一时间看更新
2.1.2 使用SparkShell进行交互式数据分析
如果是运行Spark Shell,那么会默认创建一个SparkContext,命名为sc,所以不需要在Spark Shell创建新的SparkContext,SparkContext是应用程序的上下文,调度整个应用并维护元数据信息。在运行Spark Shell之前,可以设定参数MASTER,将Spark应用提交到MASTER指向的相应集群或者本地模式执行,集群方式运行的作业将会分布式地运行,本地模式执行的作业将会通过单机多线程方式运行。可以通过参数ADD_JARS把JARS添加到classpath,用户可以通过这种方式添加所需的第三方依赖库。
如果想spakr-shell在本地4核的CPU运行,需要如下方式启动:
$MASTER=local[4] ./spark-shell
这里的4是指启动4个工作线程。
如果要添加JARS,代码如下:
$MASTER=local[4] ADD_JARS=code.jar ./spark-shell
在spark-shell中,输入下面代码,读取dir文件:
scala>val text=sc.textFile("dir")
输出文件中有多少数据项,则可用:
scala>text.count
按<Enter>键,即可运行程序。
通过以上介绍,用户可以了解如何使用Spark Shell进行交互式数据分析。
对于逻辑较为复杂或者运行时间较长的应用程序,用户可以通过本地Intellij等IDE作为集成开发环境进行应用开发与打包,最终提交到集群执行。对于执行时间较短的交互式分析作业,用户可以通过Spark Shell进行相应的数据分析。