一、實(shí)驗(yàn)題目
熟悉常用的Spark操作。
二、實(shí)驗(yàn)?zāi)康?/h2>
1.熟悉Spark Shell的使用;
2.熟悉常用的Spark RDD API、Spark SQL API和Spark DataFrames API。
三、實(shí)驗(yàn)平臺(tái)
操作系統(tǒng):Linux
Spark版本: 1.6
Hadoop版本: 3.3.0
JDK版本:1.8
四、實(shí)驗(yàn)內(nèi)容和要求
使用Spark shell完成如下習(xí)題:
1.Spark RDD部分:
a)讀取Spark安裝目錄下的文件README.md(/usr/local/spark/README.md);
b)統(tǒng)計(jì)包含“Spark”的單詞(區(qū)分大小寫)的出現(xiàn)次數(shù),給出執(zhí)行語(yǔ)句與結(jié)果截圖;
c)統(tǒng)計(jì)空白行的出現(xiàn)次數(shù),給出執(zhí)行語(yǔ)句與結(jié)果截圖。
2.Spark SQL部分(分別使用Spark SQL API和Spark DataFrames API完成):
a)在Spark安裝目錄下建立一個(gè)文件example.json,內(nèi)容如下:
{“name”: “Michael”, “age”: 25, “gender”: “male”}
{“name”: “Andy”, “age”: 30, “gender”: “female”}
{“name”: “Justin”, “age”: 19, “gender”: “female”}
b)讀取該文件(/usr/local/spark/example.json)
c)篩選性別為”female”的記錄并顯示結(jié)果,給出執(zhí)行語(yǔ)句與結(jié)果截圖;
d)統(tǒng)計(jì)性別為”male”和”female”的人數(shù)并顯示結(jié)果,給出執(zhí)行語(yǔ)句與結(jié)果截圖。
(提示:使用DataFrames API判斷字符串相等,應(yīng)使用”===”操作符;使用SQL API判斷字符串相等,應(yīng)使用”=”操作符)
五、實(shí)驗(yàn)步驟
1. Spark RDD部分
1.1 讀取文件
val textFile = sc.textFile("file:///usr/local/spark/README.md");
1.2 統(tǒng)計(jì)"Spark"詞頻
textFile.filter(word => word.contains("Spark")).count();
1.3 統(tǒng)計(jì)空白行出現(xiàn)次數(shù)
textFile.flatMap(_.split("\n")).filter(_.size == 0) .count();
2. Spark SQL部分
2.1 建立文件
路徑:/usr/local/spark/example.json
內(nèi)容:
{“name”: “Michael”, “age”: 25, “gender”: “male”}
{“name”: “Andy”, “age”: 30, “gender”: “female”}
{“name”: “Justin”, “age”: 19, “gender”: “female”}
2.2 Spark DataFrames API實(shí)現(xiàn)
a)讀取文件
val df = sqlContext.read.json("file:///usr/local/spark/example.json");
df.show();
b)篩選性別為"female"的記錄
df.filter(df("gender") === "female").show();
c)統(tǒng)計(jì)性別為"male"和"female"的人數(shù)
df.groupBy("gender").count().show();
2.3 Spark SQL API實(shí)現(xiàn)
a)將df注冊(cè)為臨時(shí)表people
df.registerTempTable("people");
b)讀取文件
val result = sqlContext.sql("SELECT * FROM people");
result.show();
c)篩選性別為"female"的記錄
val result = sqlContext.sql("SELECT * FROM people WHERE gender = 'female' ");
result.show();
d)統(tǒng)計(jì)性別為"male"和"female"的人數(shù)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-489469.html
val result = sqlContext.sql("SELECT gender, COUNT (*) AS count FROM people GROUP BY gender");
result.show();
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-489469.html
到了這里,關(guān)于大數(shù)據(jù)技術(shù)原理與應(yīng)用 實(shí)驗(yàn)6 Spark數(shù)據(jù)處理系統(tǒng)的搭建的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!