Spark是一个快速的集群化的实时计算系统。支持Java, Scala, Python 和R语言的高级API。
一 Spark生态:
支持Spark Sql用于sql和结构化数据查询处理;支持MLlib用于机器学习;支持GraphX用于图形处理;支持Spark Streaming和Structured Sql(spark2.1.1版本发布)用于实时计算。(其中,我们使用的Spark功能主要是Spark Sql和Structured Sql。其中Spark sql用于查询模块,可以联合多个数据源进行查询。Structured Sql用于流式数据处理。)
部署方式有:
1、本地运行模式:new SparkConf().setAppName(“sparkName”)
.setMaster(config.getString(“local[*]”)))
2、Stanalone模式:
1)由master/slaves服务组成的
2)各个节点上的资源被抽象成粗粒度的slot,有多少slot就能同时运行多少task。
3)部署时通过spark-env.sh和slave配置文件进行配置,使用start-all.sh可以一键启动。
3、EC2模式:
部署于云端。
4、Spark on Mesos模式:
支持粗粒度模式和细粒度模式。
1)粗粒度模式:应用程序的各个任务正式运行之前,