陳虹君
摘要:Hadoop是大數據挖掘的主流平臺,在該平臺上可以進行大數據的挖掘。數據挖掘的規模和速度是我們需要考慮的問題。Spark框架是一個優秀的框架,它集機器學習,圖計算和在線學習為一身,是簡潔、強大、高效的。該文先討論了Spark的組成,接著討論Spark的任務調度方式,最后討論了Spark的環境及測試。
關鍵詞:大數據;Hadoop;Spark;機器學習;圖計算;實時處理
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2014)35-8407-02
Spark Framework Based on Hadoop Platform
CHEN Hong-jun
(ChengDu College of university of Electronic Science And Technology of China, Chengdu 611740, China)
Abstract: Hadoop is the main platform of big data mining on which you can mine big data.The scale and speed of data mining is an issue we need to consider. Spark framework is an excellent framework, which combines machine learning, graphs computing and online processing in one framework, which is a simple, powerful and efficient. This paper first discusses the Spark composition, followed by a discussion Spark task scheduling, and finally discuss the environment and test the Spark.
Key words: big data; Hadoop; Spark; machine learnin; graphs computing; online processing
云計算的研究與發展十分迅速,云計算的具體應用大數據挖掘更是具有很高的實用價值和商業價值。如何對大數據進行挖掘,并且如何對大數據進行快速、高效的挖掘更是值得研究。
1 Spark—新一代大數據挖掘平臺
Spark稱為快數據,比Hadoop的傳統處理方式MapReduce有著很大的差別,效率至少提高100倍以上。
Spark分為四大模塊:Spark SQL-RDD(數據執行的基本單元),MLlib(機器學習)、Graphx(圖計算),Spark Streaming(實時處理)。這四個部分的數據處理單元都是RDD。所以整個框架形成了大數據處理各種應用場景編程的一致性。
同時,Spark是基于內存的編程模型,它可以把中間的迭代過程不放在磁盤中,直接數據不落地在內存中執行,極大地提高了它的執行速度。下面來介紹它的各個模塊。
2 Spark SQL
Spark SQL允許在SQL和HiveQL中的相關查詢表達式在Spark中的執行。這個組件的核心是一個新型的RDD,JavaSchemaRDD。JavaSchemaRDD是由Row對象和schema描述行中每一列的數據類型。JavaSchemaRDD類似一個關系型數據庫中的表。一個JavaSchemaRDD可以通過已存在的RDD,Parquet文件,一個JSON數據集或者存儲在Apache Hive通過HiveQL運行的數據來創建。
Spark SQL程序都需要程序的入口:
public static void main(String[] args) throws Exception {
SparkConf sparkConf = new SparkConf().setAppName("JavaSparkSQL");
JavaSparkContext ctx = new JavaSparkContext(sparkConf);
//創建SQL查詢的入口點,上下文。……