论文范文网-权威专业免费论文范文资源下载门户!
当前位置:毕业论文格式范文>职称论文>范文阅读
快捷分类: 教学方法论文 教育教学论坛杂志 外语教学期刊 论文方法有哪些 教学论文范文 教育教学论坛期刊 高中语文教学方法论文 论文对儿童蛙泳教学方法试验 新疆小学双语教学方法的关于论文 小学英语教学方法论文 临床护理教学方法参考文献 关于教学方法的毕业论文

教学方法论文写作参考范文 跟基于简化分布式模型和数据结构理论的SPARK教学方法方面自考开题报告范文

分类:职称论文 原创主题:教学方法论文 发表时间: 2024-03-04

基于简化分布式模型和数据结构理论的SPARK教学方法,本文是教学方法论文写作参考范文和数据结构和数据结构理论和分布式模型相关专科开题报告范文.

摘 要:针对高校云计算或大数据课程SPARK编程章节中的学生难懂问题进行分析,提出从数据结构理论的角度理解SPARK函数式编程的特点,从简化的分布式模型分析SPARK框架的结构,从而帮助学生轻松掌握SPARK编程.

关键词:云计算;SPARK;函数式编程;分布式模型

1研究背景

云计算或大数据课程中,SPARK编程章节是学生反映较难掌握的内容之一.SPARK是scala语言编写的,而scala语言同时支持面向对象与函数式编程的特性[1],特别是函数式编程特性,使得scala程序代码非常精炼,编程效率非常高,然而,这恰恰成为困扰学生的问题.大多数学生的先修课程是Ja或者C++语言,这些语言都是面向对象的,因此学生对函数式编程很不适应,觉得代码不好理解.笔者阅读过很多SPARK编程教材,发现很少有教材从理论的高度对SPARK函数式编程进行清晰的阐述,绝大部分教材是直接介绍scala的基础语法,然后马上学习SPARK的rdd编程,没有解释清楚函数式编程与面向对象编程究竟有何不同、SPARK的rdd与Ja集合是否有类比性等.由于缺乏与先期知识的类比性,学生觉得一下进入了一个完全陌生的世界,造成学习上的困难与迷惑.在教学实践中,笔者发现从数据结构理论的角度介绍SPARK函数式编程特点,以简化分布式模型描述SPARK框架组成,能帮助学生轻松掌握SPARK编程,取得较好的教学效果.

2从数据结构理论理解SPARK函数式编程

SPARK是scala语言编写的,而scala语言函数式编程的特性让初学者感到很迷惑,学生经常会有诸如以下问题:函数既然是代码,为何可以作为另一个函数的参数或者返回值;SPARK的rdd与Ja集合有何不同;map与filter函数有何不同等.那么怎样让学生理解map、filter等高阶函数,以及它们是如何作用于rdd的?可以从数据结构理论的角度阐述.第一步,回顾数据结构课程的内容.数据结构是一门研究非数值计算问题中,数据的组织、存储及操作的学科.非数值计算问题是指不是一个公式就能解决的问题,如排序问题等.然后,讲解数据的组织、存储及操作的意思,见表1.

接着,最重要的是要让学生理解:程序可以看做数据状态转换器,也可以理解为一个广义函数.例如,要实现对全班成绩按从高分到低分排序的任务,可先输入全班成绩,得到一个集合A,通过排序程序,就得到排好序的集合B,如图1所示.

如果用数学形式表示,则可表示为B等于f(A),排序程序其实就是实现函数关系f.现在可以理解SPARK的相关概念:rdd就是一个集合,不过它是分布式的,分布在集群的不同机器上.map函数只是一个显式的映射关系名,表示要把一个集合中的元素映射到另一个集合,而映射规则是编写函数实现的,因此SPARK程序的业务逻辑就是编写函数并将其作为map等高阶函数的参数来运行的.

在函数式语言中,由于引入匿名函数及Lamda表达式,因此可以写出非常精炼的代码.例如,要把集合A中所有元素加3,放到集合B中,一行代码就可实现:

B等于A.map(xx+3)

map函数相当于数学上的f,一个形式上的映射名,表示集合A要进行一个映射,具体怎么映射,是由作为map函数的参数(也是一个函数)实现的.从这个意义上理解,SPARK所谓的高阶函数,都是一个形式上的映射名而已.

既然都是形式上的映射名,那么map函数与filter函数有何不同呢?filter函数表示过滤映射,它的参数函数返回值必须是boolean型.例如,要把集合A中所有小于0的元素放到集合B中,可以这样写:

B等于A.filter(xx>0)

从数据结构理论的角度,spark的rdd与Ja集合是一个概念,都是一批数据构成的集合.

3从简化分布式模型理解rdd及SPARK工作原理

rdd(弹性分布式数据集)是SPARK编程的核心概念[2],在数据结构理论上就是一个数据集合,不过是分布在多台计算机上,每台计算机可以并行操作本机上的数据集,这是一个典型的分布式系统.SPARK是怎样管理分布在不同计算机上的数据,以及怎样通过程序处理这些数据呢?一个简化分布式模型框图[3]如图2所示.

每个SPARK应用程序都由一个任务控制节点(DriverProgram)来控制,每个程序都要生成一个程序环境(SparkContext).集群资源管理器(ClusterManager)管理整个集群的资源,当执行程序前,DriverProgram会向ClusterManager要求分配计算机资源,称为WorkerNode,即运行作业任务的工作节点.每个SPARK应用程序称为一个作业(Job),每个作业被分为一个个的任务(Task).DriverProgram得到工作节点后,就可以把任务分配给工作节点.每个工作节点上都有一个执行器(Executor),负责执行任务(即程序),执行完成后,会报告给DriverProgram.这样所有的工作节点都可以并行执行,并且由DriverProgram统一管理.

rdd由SparkContext创建,分布在每个工作节点上.一般来说,rdd都是由hdfs文件产生,而hdfs文件是分布在工作节点上的[4],因此rdd基本上从本机数据文件生成,这样可以避免大量数据在网络上传播,极大节约时间及网络带宽.对分布式编程中经典的例程——统计文件中每个单词出现的次数,进行分析.

objectwordc{//定义单例对象wordc

defmain(args:Array[String]):Unit等于{//定义主函数

valconf等于newSparkConf()//创建一个spark配置对象

//创建一个程序环境对象,同时设置应用名称,设置连接到YARN集群

//连接到YARN集群要设置exportHADOOP_CONF_DIR等于XXX

valsc等于newSparkContext(conf.setAppName("wordc").setMaster("yarn-cluster"))

//读取hdfs文件系统中的文件,来生成rdd,名称叫lines

vallines等于sc.textFile("hdfs://master:9000/aa.txt")

//下面这句是典型的函数式编程,语句非常精炼

//flatMap(_.split(""))意思是把lines中的每一行按空格分隔为单词.

//map((_,1))的意思是每个单词生成一个元素<单词,1>

//reduceByKey(_+_)的意思是每个相同单词的值加起来.

//collect.foreach(println)的意思是,执行上述命令,生成新的rdd,并打印

lines.flatMap(_.split("")).map((_,1)).reduceByKey(_+_).collect.foreach(println)

//结束程序

sc.stop

}

4结语

通过数据结构理论理解函数式编程思想,用简化内存模型分析SPARK系统框架,然后通过程序实例解析SPARK代码,这样能帮助学生轻松掌握SPARK编程,显著提高教学效果.我系2014级学生按此方法教学,该门课程平均成绩达到80分,而前一届学生未采用这种讲课方法,同样试卷考试,该门课程平均成绩只有65分.由此可见,人们对知识的理解是有类比性的,通过已有的知识类比理解新的知识,接受新知识就很快.本文的教学方法,其实就是通过学生已掌握的数据结构知识、数学函数知识以及分布式模型知识,类比SPARK函数式编程,从而让学生轻松理解新知识并记忆深刻.

结论,本文是关于教学方法方面的大学硕士和本科毕业论文以及数据结构和数据结构理论和分布式模型相关教学方法论文开题报告范文和职称论文写作参考文献资料.

参考文献:

1、 基于耗散结构理论和Brusselator模型的物流企业竞争力评价 摘要当今市场和经济环境的快速变化,使得物流企业的竞争也越来越大,充分了解企业的优势劣势所在,有利于提高企业环境的适应性,增强竞争能力 现有的对企业竞争力的研究大多只关注组织内部及其财务指标,使得评价不.

2、 电网物资招标采购大数据应用与价值评估模型 上海/刘明巍 张元新 刘昕 杨凯 侯立元 李永摘要随着国家电网公司物力集约化工作的不断深入,对积累的大量招标采购数据的管理和有效应用,需要进一步改进和增强 为进一步推动招标采购管理创新,通过.

3、 数据结构课程QAE实践教学模式和实践 摘 要数据结构是一门应用实践性强的课程,为加强数据结构实践课程建设,分析了数据结构实践课程教学中存在的问题,提出了以问题驱动为基础、立体化进阶式教学与考核为手段、时空拓展实践教学为特色(QAE)的教学.

4、 数据结构和算法分析立体化教学模式 数据结构与算法分析立体化教学模式探索华伟1,张典1,姜官男1,徐自励2(1 四川大学 电子信息学院,四川 成都 610065;2 中国民航总局第二研究所,四川 成都 610041)摘要针对数据结构与算.

5、 用弗洛伊德人格结构理论分析托尔斯泰小说《复活》 摘 要本文以弗洛伊德三重人格结构说为理论基础,旨在分析托尔斯泰小说复活中主人公内心情感的阶段性变化,从最初的堕落到最后的升华,人格在本我与超我中数次转换,人性游走于二者之间,历经数次挣扎,最终皈依道德.

6、 我国数据新闻理论对新闻学 摘要在全球大数据发展趋势下,数据新闻作为新闻业对科技潮流的主动回应,引起了学界和业界的广泛关注 本文以中国知网数据库中与“数据新闻”主题相关的论文为样本,运用社会网络分析法和可.