999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

大數據編程對于JAVA程序設計課程改革的沖擊

2021-11-19 12:15:06
探索科學(學術版) 2021年11期
關鍵詞:課程

高 巖

河南理工大學計算機科學與技術學院數據科學系 河南 焦作 454003

一、引言

大數據編程相關的課程主要包括:HDFS,MapReduce,YARN,Spark,Storm,Hive,HBase等內容[1]。所涉及的大量的計算機基礎知識包括:Linux系統原理,計算機組成原理,網絡組成,數據庫原理,面向對象程序設計等內容。對于上課學生的基礎都提出了極高的要求,往往存在一邊上課,一邊“填空”的情況。另一方面,為了改變“老師講,學生聽;教師問,學生答,動手練”的教學模式,我國的高校正在大量壓縮理論教學時長,轉而可以將更多精力放在實踐過程中。面向對象程序課程中JAVA、PYTHON語言在大數據編程方面也存在大量的應用[2]。因此,教學過程中的需要按照大數據的要求進行相應的調整,并大量壓縮課時。

二、JAVA程序設計課程的典型設定

JAVA程序設計相關課程是計算機專業的基礎課程之一,也是重要的核心課程[3]。一般而言,這門的主要教學目標有三:1、熟練掌握JAVA語言的基本語法,能夠較為深入理解面向對象程序設計機制,可以熟練掌握類的設計;2、掌握JAVA標準版的API使用方法,掌握常用系統類、異常處理相關類、容器集合類、輸入輸出類、多線程類;3、能過圖形用戶界面介紹頁面布局、事件響應等知識為后續網絡前端設計提供基礎;在網絡編程方面,介紹SOCKET的概念,進一步深化IO流及多線程的相關知識,為后續的服務池管理提供前期模型,能過相關的項目的練習培養良好編程習慣,并讓學生具備編寫一定規模簡易程序的能力,為后續軟件工程、web編程的相關課程打下基礎。

對于普通計算機專業而言,繼續學習數據庫相關技術、JDBC、Servlet、Ajax、Spring MVC、HTML5等相關課程,讓學生具有較為完整的web網站全棧開發能力,其學生重點發展方向為網站前、后臺系統整合能力。

三、大數據平臺Hadoop

Hadoop兩大核心就是HDFS(Hadoop Distributed File System)分布式文件系統和 MapReduce(并行計算框架)[5]。

HDFS系統可以通過其中核心元祖類FileSystem的不同的HDFS實現子類實例化對象實現接入。這些實現子類包含:Apache Hadoop,Aliyun OSS,Amazon S3,Azure Blob Storage,Azure Data Lake Storage,OpenStack Swift,Tencent COS這些Hadoop兼容的文件系統完成。HDFS要求具體的實現文件系統滿足(部分滿足)LINUX文件系統的POSIX標準[6]。

MapReduce是非常容易上手的一個軟件框架,它主要是利用其并行計算能力在由數千個廉價計算結點組成的高可靠計算集群之上進行TB級海量數據的運算。一個MapReduce的Job可以分為兩大部分:Map和Reduce。在數據輸入端,Map Redce分將數據集的分割成相互獨立小份,再將每一小份送至完全并行的Map任務當中。從輸出端來看,這個框架可以將這個Job中Map的輸出進行排序,而后轉化為后續的Reduce任務的輸入,最后進行輸出。通常來說,整個Job的輸入與輸出是存儲的文件系統中的文件。Map Reduce這個框架的核心即是Job內任務的編排、監視及任務失敗后的重啟。整個Hadoop框架是由JAVA實現的,因此,使用面向對象程序語言JAVA的程序在Map Reduce框架中運行有著天然親合性[7]。

四、面向Hadoop集群進行編程所面臨的問題

HDFS文件系統是一個類似于UNIX實現的文件系統。對于HDFS文件系統的文件、文件夾對象,使用PATH對象進行封裝。其中對于路徑的描述是與常用的WINDOWS中對于文件系統的描述存在著差異,如層次文件系統以“/”根目錄開始且不能重命名、不被覆蓋,無盤符概念;更加嚴格的權限檢查,也就是說一個調用者若沒有相應許可,其程序操作將會拒絕而失敗,且同時拋出一個異常對象;通常需要使用URI地址,即統一資源標志符Universal Resource Inde,在某一規則下能把一個資源獨一無二地標識出來。我們所熟知的統一資源定位符URL是其子集;有些文件系統如Azure blob存儲文件中不能使用嵌入字符“.”等。在有了HDFS聯結對象(FileSystem對象)及HDFS文件管理對象(PATH對象)之后,使用FileSystem對象的Open方法產生一個FSDataInputStream實例,這里的org.apache.hadoop.fs.FSDataInputStream是java.io.DataInputStream及java.io.InputStream的子類;或使用create、append等方法產生一個FSDataOutput-Stream實例,這里org.apache.hadoop.fs.FSDataOutputStream是java.io.DataOutputStream與java.io.OutputStream的子類。只有找到這個接口,才能將HDFS文件系統的讀寫IO代碼接入HDFS文件系統當中。這一個過程與JDBC及Socket編程方法十分類似,里面涉及大量對象序列化、反序列化、對象之間的比較、對象HashCode設定、IO處理流、節點流相關的知識。

另一方面,MapReduce的框架唯一可以進行操作的是一些Key-Value對,也就是說,從框架的角度來看,整個Job的輸入是若干Key-Value對的集合,其輸出也是若干Key-Value對的集合。不同的Job使用不同的數據類型,但整個運算框架是一致的。第一、MapReduce的框架中,JAVA中的基礎數據類型及包裝類類型不同的是:Map Reduce中用于Key-Value的數據類型類必須是被框架進行串行化處理的,具體來說就是要實現Writable接口,對于用于Key數據類型類必須實現WritableComparable接口以配合框架完成排序工作。在Hadoop中主要的數據類型包括了:BooleanWritable:布爾型數值、ByteWritable:單字節整型值、DoubleWritable:雙精度浮點數、floatWritable:單精度浮點數、IntWritable:整型值、LongWritable:長整型值、Text:使用UTF8格式存儲的文本、NullWritable:當<key,value>中的key或value為空時使用,分別對應JAVA 程序中的Boolean,Byte,Double,Float,Integer,Long,String和 null用來處理MapReduce框架中傳遞的數據。第二、在MapReduce框架中大量使用泛型接口、泛型類和泛型方法,但在基礎語法中僅僅在容器類中出現。但是在實際的編程過程中,我們需要引導學生自己去使用泛型簡化開發程序,且提高代碼質量。第三、在Rreduce方法輸入Key-Value中Value是一個包含同一類型的list,但對于Key則沒有這個要求。這個框架可以重用reduce輸入的Key與Value對象,因此,這個應用可以克隆希望可以拷貝的對象。綜上可見,MapReduce的框架當中對于抽象類、接口、包裝類對象、容器類,泛型、迭代器有了廣泛地使用。

五、結論

通常來說,JAVA程序設計相關課程中的主講內容多為:面向對象編程設計思相、類、接口、常用類、異常類、IO、容器類、多線程、網絡編程與圖形界面等內容。對于Hadoop這樣的集群管理并行計算系統,使用JAVA編程是一種可行的選擇,但在教學過程中還需要強調對象序列化、反序列化、對象之間的比較、對象HashCode設定、IO處理流、節點流相關的知識、于抽象類、接口、包裝類對象、容器類,泛型、迭代器等內容。若時間有限的情況下,可適當刪減多線程、網絡編程與圖形界面等部分的內容。

猜你喜歡
課程
《無機化學》課程教學改革
云南化工(2021年6期)2021-12-21 07:31:42
數字圖像處理課程混合式教學改革與探索
寓寫于玩:童化班本課程的成長之路
軟件設計與開發實踐課程探索與實踐
計算機教育(2020年5期)2020-07-24 08:53:38
基于OBE的軟件測試課程教學改革探索
計算機教育(2020年5期)2020-07-24 08:53:20
為什么要學習HAA課程?
早期教育與課程建設
商周刊(2017年23期)2017-11-24 03:24:01
A—Level統計課程和AP統計課程的比較
精細高分子課程教學改革
熟悉的米,奇妙的稻——課程敘事:我們的班本課程“稻”
幼兒100(2016年30期)2016-02-28 21:26:29
主站蜘蛛池模板: 综合社区亚洲熟妇p| 国产成人精品综合| 久久国产精品国产自线拍| 日韩精品毛片人妻AV不卡| 区国产精品搜索视频| 伊在人亚洲香蕉精品播放| 精品国产91爱| 玖玖免费视频在线观看| 本亚洲精品网站| 波多野结衣国产精品| 久久久久亚洲精品成人网| 黄色网站在线观看无码| 欧美精品成人| 国产亚洲欧美日韩在线一区二区三区 | 日本伊人色综合网| 最新日本中文字幕| 国产香蕉在线视频| 欧美福利在线观看| 日韩av在线直播| a毛片免费在线观看| 欧美三级日韩三级| 国产成人综合网在线观看| 国产三级a| 全午夜免费一级毛片| 国产不卡在线看| 亚洲视频在线网| 超碰精品无码一区二区| 国产一区二区丝袜高跟鞋| 成年A级毛片| 国产日本欧美在线观看| 熟女日韩精品2区| 亚洲中文字幕在线观看| 在线观看国产小视频| 99在线视频网站| 久青草免费在线视频| 婷婷丁香在线观看| 日本精品视频一区二区 | 久久国产精品娇妻素人| 国产精品视屏| 国产成年无码AⅤ片在线| 亚洲成人www| 99在线国产| 国产精品久久久久久久伊一| 中文字幕人妻无码系列第三区| 亚洲第一视频网| 亚洲欧美成人影院| 亚洲视频一区在线| 欧美成人aⅴ| 永久成人无码激情视频免费| 一级做a爰片久久免费| 永久免费无码日韩视频| 欧美精品成人| 香蕉伊思人视频| 亚洲成人高清无码| 国产中文一区二区苍井空| 国产成人在线无码免费视频| 久99久热只有精品国产15| 国产情侣一区| 99视频在线免费看| 一本综合久久| 国产日韩精品一区在线不卡| 欧美一区精品| 亚洲综合激情另类专区| 欧美黄色网站在线看| 欧美一级夜夜爽www| 精品国产Av电影无码久久久| 一级毛片高清| 国产日本欧美在线观看| a级毛片免费网站| 日韩精品免费在线视频| 久久综合色天堂av| 欧美精品在线观看视频| 日韩在线网址| 色综合天天娱乐综合网| 国产激情第一页| h视频在线播放| 四虎影视国产精品| 天天爽免费视频| 成人精品视频一区二区在线| 青青草欧美| 毛片国产精品完整版| 国产午夜一级淫片|