写在前面: 我是
「nicedays」
,一枚喜爱做特效,听音乐,分享技术的大数据开发猿
。这名字是来自world order乐队的一首HAVE A NICE DAY
。如今,走到现在很多坎坷和不顺,如今终于明白nice day是需要自己赋予的。
白驹过隙,时光荏苒,珍惜当下~~
写博客一方面是对自己学习的一点点总结及记录
,另一方面则是希望能够帮助更多对大数据感兴趣的朋友。如果你也对大数据与机器学习
感兴趣,可以关注我的动态https://blog.csdn.net/qq_35050438
,让我们一起挖掘数据与人工智能的价值~
spark是一个用来实现快速而通用的集群计算的平台
主要应用于批处理,迭代算法,交互式查询,流处理。
SparkCore
SparkStreaming
SparkSQL
SparkGraphX
SparkMLib
sc调sparkcontext
术语 | 说 明 |
---|---|
Application | 建立在Spark上的用户程序,包括Driver代码和运行在集群各节点Executor中的代码 |
Driver program | **驱动程序。**Application中的main函数并创建SparkContext |
Cluster Manager | **在集群(**Standalone、Mesos、YARN)上获取资源的外部服务 |
Worker Node | 集群中任何可以运行Application代码的节点 |
Executor | 某个Application运行在worker节点上的一个进程 |
Task | 被送到某个Executor上的工作单元 |
Job | 包含多个Task组成的并行计算,往往由Spark Action触发生成,一个Application中往往会产生多个Job |
Stage | 每个Job会被拆分成多组Task,作为一个TaskSet,其名称为Stage |
创建一个SparkContext对象
//Spark app 配置:应用的名字和Master运行的位置
val sparkConf=new SparkConf().setAppName("SparkAppTemplate").setMaster("local[2]")
//创建sparkContext对象:主要用于读取需要处理的数据,封装在RDD集合中;调度jobs执行
val sc = new SparkContext(sparkConf)
SparkSession是2.0引入的概念,目的是将不同Context结合起来.
早期由于RDD是主要的API,我们通过创建SparkContext来创建和操作RDD。
而对于其他的API,我们使用不同的context,例如Steaming,我们用StreamingContext,sql我们用sqlContext。
但之后随者DataSet和DataFrame的API成为主流,我们需要引入SparkSession,来封装SparkConf,SparkContext和sqlContext,HiveContext。
//在spark 2.x中不推荐使用sparkContext对象读取数据,而是推荐SparkSession
val spark = SparkSession.builder
.appName("Simple Application")
.master("local[2]")
.getOrCreate()
Spark核心,主要数据抽象,数据项拆分为多个分区(多行数据的集合)的集合的描述
用于数据转换的接口,指向了存储在HDFS,Cassandra,HBase等,或在故障或缓存收回时重新计算其他RDD分区中的数据。
特定领域对象中的强类型集合,它可以使用函数并行的进行转换操作
最常见的结构化API,包含行和列的数据表,特殊的DataSet
模式(schema):说明这些列和列类型的一些规则
分布式dataFrame,这种数据集是 以RDD为基础的,其被组织成指定的列,类似于关系数据库的二维表格
tar -zxvf spark-2.3.4-bin-hadoop2.6.tgz
mv /opt/spark-2.3.4-bin-hadoop2.6 /opt/soft/spark234
vi /opt/soft/spark234/conf/spark-env.sh
export SPARK_MASTER_HOST=192.168.56.101 #主节点IP
export SPARK_MASTER_PORT=7077 #任务提交端口
export SPARK_WORKER_CORES=2 #每个worker使用2核
export SPARK_WORKER_MEMORY=3g #每个worker使用3g内存
export SPARK_MASTER_WEBUI_PORT=8888 #修改spark监视窗口的端口默认8080
vi /opt/soft/spark234/sbin/sprak-config.sh
export JAVA_HOME=/opt/soft2/jdk180/jdk1.8.0_111
vi /opt/soft/spark234/sbin
./start-all.sh
vi /opt/soft/spark234/bin
./spark-shell
tar -zxvf spark-2.3.4-bin-hadoop2.6.tgz
mv /opt/spark-2.3.4-bin-hadoop2.6 /opt/soft/spark234
修改slaves
cd /opt/soft/spark234/conf/
cp slaves.template slaves
vi /opt/soft/spark234/conf/slaves
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Brm8fodk-1595667575652)(C:%5CUsers%5Clenovo%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20200725165447354.png)]
修改spark-env.sh
cd /opt/soft/spark234/conf/
cp spark-env.sh.template spark-env.sh
vi /opt/soft/spark234/conf/spark-env.sh
export SPARK_MASTER_HOST=192.168.56.101 #主节点IP
export SPARK_MASTER_PORT=7077 #任务提交端口
export SPARK_WORKER_CORES=2 #每个worker使用2核
export SPARK_WORKER_MEMORY=3g #每个worker使用3g内存
export SPARK_MASTER_WEBUI_PORT=8888 #修改spark监视窗口的端口默认8080
vi /opt/soft/spark234/sbin/sprak-config.sh
export JAVA_HOME=/opt/soft2/jdk180/jdk1.8.0_111
cd /opt/soft/spark234/sbin
./start-all.sh
cd /opt/soft/spark234/bin
./spark-shell
本文地址:https://blog.csdn.net/qq_35050438/article/details/107581322
如对本文有疑问, 点击进行留言回复!!
pytorch安装实录(win10+cuda8+pycharm+anaconda)
小练习题(69)有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位
两种方法 更改jupyter notebook的打开路径/默认工作路径
RobotFramework接口自动化-全局变量解决保持登录问题
mysql中如何实现 row_number分组求topN的功能
网友评论