GG資源網

哪些spark大數據開發的實例可以用來快速入門?(Spark適用於以下哪些場景)

感謝邀請,我也是Java出身,給你分享一點個人經驗,希望能幫到你。下面給你分享一個實例!

下面我們基於該文件進行 Spark Shell 操作。

1)利用本地文件系統的一個文本文件創建一個新 RDD。

scala>var textFile = sc.textFile(「file://home/Hadoop/SparkData/WordCount/text1」);

textFile:org.apache.spark.rdd.RDD[String] = MappedRDD[1] at textFile at

<console>:12

2)執行動作操作,計算文檔中有多少行。

scala>textFile.count() //RDD中有多少行

17/05/17 22:59:07 INFO spark.SparkContext:Job finished:count at<console>:15, took 5.654325469 s

resl:Long = 2

返回結果表明文檔中有「2」行。

3)執行動作操作,獲取文檔中的第一行內容。

scala>textFile.first() // RDD 第一行的內容

17/05/17 23:01:25 INFO spark.SparkContext:Job finished:first at <console>:15,took

返回結果表明文檔的第一行內容是「hello world」。

4)轉換操作會將一個 RDD 轉換成一個新的 RDD。獲取包含「hello」的行的代碼如下。

scala>var newRDD = textFile.filter (line => line.contains(「hello」)) //有多少行含有 hello

scala>newRDD.ount() // 有多少行含 hello

17/05/17 23:06:33 INFO spark.SparkContext:Job finished:count at <console>:15,took 0.867975549 s

res4:Long = 2

這段代碼首先通過轉換操作 filter 形成一個只包括含有「hello」的行的 RDD,然後再通過 count 計算有多少行。

5)Spark Shell 的 WordCount 實現

scala> val file = sc.textFile (「file://home/hendoop/SparkData/WordCount/text1」));

scala> val count = file.flatMap(line=>line.split(「」)).map(word => (word,1)).reduceByKey(_+_)

scala> count.collect()

17/05/17 23:11:46 INFO spark.SparkContext:Job finished: collect at<console>:17,

took 1.624248037 s

res5: Array[(String, Int)] = Array((hello,2),(world,1),(My,1),(is,1),(love,1),(I,1),(John,1),(hadoop,1),(name,1),(programming,1))

使用 sparkContext 類中的 textFile() 讀取本地文件,並生成 MappedBJDD。

使用 flatMap() 方法將文件內容按照空格拆分單詞,拆分形成 FlatMappedRDD。

使用 map(word=>(word,1)) 將拆分的單詞形成 <單詞,1> 數據對,此時生成 MappedBJDD。

使用 reduceByKey() 方法對單詞的頻度進行統計,由此生成 ShuffledRDD,並由 collect 運行作業得出結果。

#####

這個問題我應該可以回答,零基礎學習spark,因為項目需要,硬著頭皮上了,先佔坑。

這幾天剛好被這貨折騰得死去活來的,晚上來答一發。

背景:某文科出長的三流985的cs專業本科,現大三,即將升大四,成績剛好夠保研,已放棄,準備找工作。大一,大二因為活躍於校內各社團,成績並不是很好,並且,尤其重要的是代碼能力很渣。

大三才開始真正接觸編程。

交代背景只是想讓看到這個答案的朋友具有更好的借鑒意義。

接觸 Spark 是因為老師的一個和企業合作的項目需要用到,真正開始接觸 Spark到現在也不過一個多月,不過確實學習到了非常多的東西。

1、首先,搭環境一定是必須的啦,答主當時搭環境,前前後後就折騰了一個星期,linux,linux不懂,各種奇怪的命令,當時折騰linux命令的時候心中一萬隻草泥馬奔騰而過,許可權的各種奇奇怪怪的問題,跟著網上的教程來做還會出錯更是傷心。但是經歷這個初始的環境折騰之後,你最基礎的linux命令至少會了,環境搭建過程中的各種配置文件坑爹問題,經歷你的各種搜索之後,你也可以大概知道各種配置文件的作用,這有助於你後面程序出錯的時候查找錯誤。

2、環境搭建好之後,因為項目的關係,你開始要編程了,但是Spark啥也不懂怎麼辦啊。

沒關係,先搭好開發環境。搭好後得看你的項目需求了。根據你的項目需求來思考學習方向。

3、我的項目需求大概是,從mongoDB讀取數據,進行簡單的計算之後丟回mongoDB里去。

3.1 先搜索Spark如何連接mongoDB,根據我當時的情況,我記得使用某度搜索,關鍵詞 Spark和mongoDB基本是沒啥有用的東西的,所以,這個時候,題主需要學會科學上網,這種比較新的東西,靠某度是沒啥用的,該飛越的時候還是要飛越的,mongo-hadoop-core。

3.2 連接好了之後,不懂 Scala怎麼辦,這個根本不是問題,首先,Spark基本是RDD之間的轉化操作,就map,split等幾個東西而已,剩下的只要大概懂最基本的語法就可以了(默認題主懂C語言),我們暫時不需要scala高級功能。你要是考我語法特性啥的,答主只能說,臣妾做不到啊。

3.3 項目新出了一個坑爹要求啊,要求將計算好的數據同時送到MySQL啊,簡直坑爹有木有,有木有。抱怨歸抱怨,程序還是要好好做的。當時國內某度依然搜索不到任何資料,又飛越了長城,這個問題我應該可以回答,零基礎學習spark,因為項目需要,硬著頭皮上了,先佔坑。

這幾天剛好被這貨折騰得死去活來的,晚上來答一發。

背景:某文科出長的三流985的cs專業本科,現大三,即將升大四,成績剛好夠保研,已放棄,準備找工作。大一,大二因為活躍於校內各社團,成績並不是很好,並且,尤其重要的是代碼能力很渣。

大三才開始真正接觸編程。

交代背景只是想讓看到這個答案的朋友具有更好的借鑒意義。

接觸 Spark 是因為老師的一個和企業合作的項目需要用到,真正開始接觸 Spark到現在也不過一個多月,不過確實學習到了非常多的東西。

1、首先,搭環境一定是必須的啦,答主當時搭環境,前前後後就折騰了一個星期,linux,linux不懂,各種奇怪的命令,當時折騰linux命令的時候心中一萬隻草泥馬奔騰而過,許可權的各種奇奇怪怪的問題,跟著網上的教程來做還會出錯更是傷心。但是經歷這個初始的環境折騰之後,你最基礎的linux命令至少會了,環境搭建過程中的各種配置文件坑爹問題,經歷你的各種搜索之後,你也可以大概知道各種配置文件的作用,這有助於你後面程序出錯的時候查找錯誤。

2、環境搭建好之後,因為項目的關係,你開始要編程了,但是Spark啥也不懂怎麼辦啊。

沒關係,先搭好開發環境。搭好後得看你的項目需求了。根據你的項目需求來思考學習方向。

3、我的項目需求大概是,從mongoDB讀取數據,進行簡單的計算之後丟回mongoDB里去。

3.1 先搜索Spark如何連接mongoDB,根據我當時的情況,我記得使用某度搜索,關鍵詞 Spark和mongoDB基本是沒啥有用的東西的,所以,這個時候,題主需要學會科學上網,這種比較新的東西,靠某度是沒啥用的,該飛越的時候還是要飛越的,mongo-hadoop-core。

3.2 連接好了之後,不懂 Scala怎麼辦,這個根本不是問題,首先,Spark基本是RDD之間的轉化操作,就map,split等幾個東西而已,剩下的只要大概懂最基本的語法就可以了(默認題主懂C語言),我們暫時不需要scala高級功能。你要是考我語法特性啥的,答主只能說,臣妾做不到啊。

3.3 項目新出了一個坑爹要求啊,要求將計算好的數據同時送到MySQL啊,簡直坑爹有木有,有木有。抱怨歸抱怨,程序還是要好好做的。當時國內某度依然搜索不到任何資料,又飛越了長城,發現Spark的新版本有個新功能,insertIntoJDBC,結果這貨也是個坑啊,哎,發現它不會自己關閉,插入數據較多的之後,MySQL連接池不夠用啊,而且這貨根據最新版Spark官方文檔,已經被廢棄了,因此自己寫了一個使用scala連接到MySQL的類(和java連接MySQL差不多)。

4、是的,你沒猜錯,我又遇到坑問題了。這個問題已經折騰兩三天了,暫時還沒解決,希望各位前輩,能夠指點一點。

坑問題描述:

開發機環境,一個master,一個salve,程序不管是local模式還是standalone模式都運行正常。

伺服器環境,一個master,兩個slave,程序在local模式下運行正確,standalone模式拋出java.lang.IllegalStateException open錯誤。目前有較大的可能性,是在連接mongodb進行查詢操作的時候,前面一個操作完之後直接關閉了連接,而後一個操作還沒操作完造成的錯誤。具體問題描述請看這裡mongodb - Spark on standalone cluster throws java.lang.illegalStateException

上面這個問題已經解決了,是因為mongo-hadoop-core版本支持的問題。而最關鍵的是我沒有清理編譯器的緩存,這也導致了,即使一開始我知道是connector版本可能有問題,也沒有解決,這也導致了我多花費了好幾天來搞了這個問題,但是,這次的經歷讓我對如何查找錯誤,如何解決問題,有了更深刻的體會。

強烈建議題主找一個實際項目做!

強烈建議題主找一個實際項目做!

強烈建議題主找一個實際項目做!

實在沒辦法,自己想一個需求,比如寫個程序,隨便找個地抓取一堆數據,然後用Spark來分析數據。知乎有很多如何抓取數據的好問題和好回答,題主可以自行搜索。

最後,提醒題主一句話,Spark並不是一顆銀彈。

估計有人會奇怪,答主說自己編程能力弱還敢搞這個東西,首先我這麼有信心的原因是我大二暑假去一個小公司實習,該公司需要有人做iOS,然後直接丟給我,答主當時,mac啥的,objective-c啥的也不懂,但是沒關係,隨便買兩本書,大概看一下語法,做了書本幾個相關的簡單例子就可以實際操作了,最後還是做成功了,雖然代碼有點亂。但是正是這次的完整的項目經歷,給了我學習的極大信息。

然後,最最重要的一點是,Spark是一個讓人會又恨又愛的東西,為什麼呢?因為你會遇到更種坑問題,但也正是因為如此,解決這種坑問題會給你極大的滿足感,能激發你持續進步。

哪些spark大數據開發的實例可以用來快速入門?(Spark適用於以下哪些場景)
哪些spark大數據開發的實例可以用來快速入門?(Spark適用於以下哪些場景)
#####

來我頭條號里找找案例?

由於網站搬家,部分鏈接失效,如無法下載,請聯繫站長!謝謝支持!
1. 帶 [親測] 說明源碼已經被站長親測過!
2. 下載後的源碼請在24小時內刪除,僅供學慣用途!
3. 分享目的僅供大家學習和交流,請不要用於商業用途!
4. 本站資源售價只是贊助,收取費用僅維持本站的日常運營所需!
5. 本站所有資源來源於站長上傳和網路,如有侵權請郵件聯繫站長!
6. 沒帶 [親測] 代表站長時間緊促,站長會保持每天更新 [親測] 源碼 !
7. 盜版ripro用戶購買ripro美化無擔保,若設置不成功/不生效我們不支持退款!
8. 本站提供的源碼、模板、插件等等其他資源,都不包含技術服務請大家諒解!
9. 如果你也有好源碼或者教程,可以到審核區發布,分享有金幣獎勵和額外收入!
10.如果您購買了某個產品,而我們還沒來得及更新,請聯繫站長或留言催更,謝謝理解 !
GG資源網 » 哪些spark大數據開發的實例可以用來快速入門?(Spark適用於以下哪些場景)

發表回復

CAPTCHAis initialing...