近幾年大數據是異常的火爆,今天小編以java開發的身份來會會大數據,提高一下自己的層面!
大數據技術也是有很多:
小編也只知道這些了,由于Hadoop,存在一定的缺陷(循環迭代式數據流處理:多
并行運行的數據可復用場景效率不行)。所以Spark出來了,一匹黑馬,8個月的時間從加入Apache,直接成為頂級項目!!
選擇Spark的主要原因是:
Spark和Hadoop的根本差異是多個作業之間的數據通信問題 : Spark多個作業之間數據
通信是基于內存,而 Hadoop 是基于磁盤。
官網地址:https://spark.apache.org/
Spark 是用于大規模數據處理的統一分析引擎。它提供了 Scala、Java、Python 和 R 中的高級 API,以及支持用于數據分析的通用計算圖的優化引擎。它還支持一組豐富的高級工具,包括用于 SQL 和 DataFrames 的 Spark SQL、用于 Pandas 工作負載的 Spark 上的 Pandas API、用于機器學習的 MLlib、用于圖形處理的 GraphX 和用于流處理的結構化流。
spark是使用Scala語言開發的,所以使用Scala更好!!
Scala官網:https://www.scala-lang.org/
點擊安裝
在這里插入圖片描述
下載自己需要的版本
在這里插入圖片描述
點擊自己需要的版本:小編這里下載的是2.12.11
點擊下載Windows二進制:
在這里插入圖片描述
慢的話可以使用迅雷下載!
安裝就是下一步下一步,記住安裝目錄不要有空格,不然會報錯的!!!
win+R輸入cmd:
輸入:
scala
必須要有JDK環境哈,這個學大數據基本都有哈!!
在這里插入圖片描述
一個小技巧:
Hadoop和Spark版本需要一致,我們先去看看spark,他上面名字就帶著和他配套的Hadoop版本!!
spark3.0對照:https://archive.apache.org/dist/spark/spark-3.0.0/
在這里插入圖片描述
得出我們下載Hadoop的版本為:3.2
Hadoop下載地址:https://archive.apache.org/dist/hadoop/common/
在這里插入圖片描述
解壓到即可使用,為了使用方便,要像jdk一樣配置一下環境變量!
新建HADOOP_HOME
值為安裝目錄:D:\software\hadoop-3.2.1
在Path里添加:%HADOOP_HOME%\bin
cmd輸入:hadoop:提示
系統找不到指定的路徑。
Error: JAVA_HOME is incorrectly set.
這里先不用管,咱們只需要Hadoop的環境即可!
Spark官網:https://spark.apache.org/
點擊找到歷史版本:
在這里插入圖片描述
點擊下載:
在這里插入圖片描述
新建:SPARK_HOME:D:\spark\spark-3.3.1-bin-hadoop3
Path添加:%SPARK_HOME%\bin
win+R輸入cmd:
輸入:
spark-shell
在這里插入圖片描述
四、集成Idea 1. 下載插件 scala
在這里插入圖片描述
打開配置:
在這里插入圖片描述
新增SDK
在這里插入圖片描述
下載你需要的版本:小編這里是:2.12.11
在這里插入圖片描述
右擊項目,添加上scala:
在這里插入圖片描述
3. 導入依賴
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.0.0</version>
</dependency>
4. 第一個程序
在這里插入圖片描述
在這里插入圖片描述
object Test {
def main(args: Array[String]): Unit = {
println("hello")
var sparkConf = new SparkConf().setMaster("local").setAppName("WordCount");
var sc = new SparkContext(sparkConf);
sc.stop();
}
}
5. 測試bug1
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
22/10/31 16:20:35 INFO SparkContext: Running Spark version 3.0.0
22/10/31 16:20:35 ERROR Shell: Failed to locate the winutils binary in the hadoop binary path
java.io.IOException: Could not locate executable D:\software\hadoop-3.2.1\bin\winutils.exe in the Hadoop binaries.
在這里插入圖片描述
原因就是缺少:winutils
下載地址:https://github.com/cdarlint/winutils
在這里插入圖片描述
把它發放Hadoop的bin目錄下:
在這里插入圖片描述
這個沒辦法復現,拔得網上的記錄:
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
22/10/08 21:02:10 INFO SparkContext: Running Spark version 3.0.0
22/10/08 21:02:10 ERROR SparkContext: Error initializing SparkContext.
org.apache.spark.SparkException: A master URL must be set in your configuration
at org.apache.spark.SparkContext.<init>(SparkContext.scala:380)
at org.apache.spark.SparkContext.<init>(SparkContext.scala:120)
at test.wyh.wordcount.TestWordCount$.main(TestWordCount.scala:10)
at test.wyh.wordcount.TestWordCount.main(TestWordCount.scala)
就是這句:A master URL must be set in your configuration
解決方案:
就是沒有用到本地的地址
右擊項目:
在這里插入圖片描述
沒有環境就添加上:
在這里插入圖片描述
添加上:
-Dspark.master=local
在這里插入圖片描述
沒有error,完美!!
在這里插入圖片描述
這樣就完成了,歷盡千辛萬苦,終于成功。第一次結束差點勸退,發現自己對這個東西還是不懂,后面再慢慢補Scala。先上手感受,然后再深度學習!!
如果對你有用,還請點贊關注下,支持一下一直是小編寫作的動力!!
可以看下一小編的微信公眾號,和網站文章首發看,歡迎關注,一起交流哈!!
Windows 10 生命周期即將結束,有最新分析報告指出,數百萬設備或將因為與新版 Windows 不兼容而報廢。
Windows 10 即將于 2025 年 10 月 14 日退休,實則已經并不是新鮮事。因為微軟早已將這一時間節點清清楚楚地寫在“產品將于 2025 年退役或終止支持”的官方文檔中。
https://learn.microsoft.com/en-us/lifecycle/end-of-support/end-of-support-2025
不過,讓眾人始料未及的是 Windows 10 退役可能帶來的嚴重后果。
就在 12 月 20 日,全球著名的科技市場獨立分析機構 Canalys 向業界揭曉了詳細情況,其表示“隨著客戶準備迎接另一個更新周期,微軟的 Windows 11 將幫助支持苦苦掙扎的 PC 市場,但 Windows 10 支持的終止可能會阻止數億臺設備獲得第二次生命,導致許多設備最終可能被扔進垃圾填埋場。”
最終全球多達 2.4 億臺 PC 可能因需要升級 Windows 11 而被阻擋在門外。對這一數值,路透社還對進行了重量換算,即倘若將這些個人電腦產生的電子垃圾用重量來評估,那么可重達 4.8 億公斤,相當于 32 萬輛汽車。
雖說現下距離 Windows 10 淘汰還有近 2 年的時間,而且許多電腦在操作系統支持結束后仍可保持功能數年,但 Canalys 警告稱,市場對沒有安全更新的設備的需求可能會很低,必須提前思考這些后果,早日采取行動。
Windows 11 的全面推動,PC 市場將回春
Windows 11 的到來,猶如一把雙刃劍。一方面,它可以讓更多的消費者用上最新的 AI 功能、獲得更加安全的升級等等,也能推動整個 PC 行業發展。
今年 10 月,市場研究機構 Gartner 發布的報告顯示,第三季度全球個人電腦出貨量同比下降 9%,從上年同期的 7060 萬臺降至 6430 萬臺,連續八個季度下滑。彼時 Gartner 分析師預計這將是兩年市場低迷期的最低點,「對個人電腦供應商來說,好消息是最糟糕的時期可能會在 2023 年底結束。」
時下在 Canalys 的分析報告中,持以同樣的觀點。Canalys 分析師指出,由于消費者尋求更新疫情時代的個人電腦,以及隨著新的具備人工智能功能的設備涌現,2024 年個人電腦市場預期將實現 8% 的增長。Windows 11 的普及,也會推動新型 PC 銷量的增長。
Windows 10 支持期結束后,2.4 億臺 PC 將成為電子垃圾
另一方面,正如 CSDN 此前報道的——很多 Windows 10 設備并無法無縫升級到 Windows 11 系統。
想要安裝或升級到 Windows 11,設備必須滿足以下最低硬件要求:
處理器:1 GHz 或更快的支持 64 位處理器(雙核或多核)或系統單芯片(SoC) 。
內存:4 GB (GB) 或更大。
存儲:64 GB 或更大的可用磁盤空間。
圖形卡:支持 DirectX 12 或更高版本兼容,具有 WDDM 2.0 驅動程序。
系統固件:支持 UEFI 支持安全啟動。
TPM: 受信任的平臺模塊 (TPM) 版本 2.0。
顯示:高清 (720p) 顯示器,9 英寸或更大監視器,每個顏色通道為 8 位。
Internet 連接:Internet 連接是執行更新以及下載和使用某些功能所必需的。Windows 11 家庭版版本需要 Internet 連接和 Microsoft 賬戶才能在首次使用時完成設備設置。
現如今,放眼全球,據 Statcounter 數據顯示,Windows 10 的使用率高達 68%,遠遠超過 Windows 11 的使用量。
聚焦到國內用戶,Windows 10 的使用率也不低。就在本月初,CSDN 發起過一項關于 Windows 版本的使用投票。根據數據顯示,Windows 10 的使用率依然高票排名第一,占比 65%,Windows 11 用戶量僅占比 22%。
面向 Windows 10 龐大的用戶群體,Canalys 預估,截至微軟官方在 2025 年 10 月 14 日終止對 Windows 10 支持的近兩年期間,約五分之一的設備將因與 Windows 11 操作系統不兼容而成為電子垃圾。這相當于 2.4 億臺個人電腦。如果將這些折疊的筆記本電腦全部疊放在一起,它們的高度將比月球高出 600 公里。
原本這 2.4 億臺個人電腦中,如果它們處于良好狀態,至少可以進行回收利用,但由于它們與最新支持版本的 Windows 不兼容,Canalys 表示,這會大大降低它們在翻新和轉售方面的價值。
報告:微軟面臨的壓力越來越大
事實上,這并不是業界第一次警告 Windows 11 的系統要求會帶來災難性后果。
10 月份,美國公共利益研究組織 PIRG 曾做出更為悲觀的預測,預計將有 4 億臺 Windows 10 電腦最終被報廢,而對舊操作系統支持的終止可能會帶來有史以來垃圾電腦的最大增長。
或許微軟也考慮過這一點。就在 12 月初,我們也曾報道過,微軟宣布 Windows 10 的擴展安全更新將持續到 2028 年 10 月,個人可以使用擴展安全更新,以此來給消費者或者企業有更多的時間過渡。
不過,擴展安全更新需要付費,目前年費具體金額尚未確定。這樣的做法也引來不少網友的吐槽。因為按照微軟在 2023 年 1 月之前為 Windows 7 和 Windows 8.1 提供付費擴展安全更新的收費標準,Windows 10 的擴展安全更新收費預期不會低。
正如我們此前報道的:
在 Windows 7 官方支持到期后,微軟對于已經訂購 ESU 的企業,在 Windows 企業版上,第一年收取的費用為每臺設備額外支付 25 美元,第二年的費用翻番至 50 美元,第三年為 100 美元。
對于運行 Windows 7 專業版的電腦而言,每臺設備第一年的費用為 50 美元,以后每年的費用翻番,分別為 100 美元和 200 美元。
如果微軟對 Windows 10 的擴展支持采取類似的定價結構,那么更具成本效益的選擇將是遷移到支持 Windows 11 的 PC,從而迫使舊 PC 進入廢品堆。
淘汰掉舊設備,將對環境造成巨大影響
進入廢棄堆的舊電腦,讓消費者有了解脫,但是對環境而言,又是一個巨大災難。
在報告中,Canalys 稱,因 Windows 10 而淘汰掉的舊電腦還不能跨域數字的鴻溝。往年,一些廢棄的電腦會通過慈善捐贈的渠道來最大限度地延長它們的使用壽命,但如果想要通過這樣的方式實現行業的數字平等,顯然是不可行的,也不具有社會可持續性。
「實際上,數字平等意味著確保全球弱勢群體和發展中社區能夠訪問信息技術并充分利用和從中受益。為這些不受支持的 PC 賦予第二次生命顯然是環保的最佳選擇,但捐贈這些設備不會推動業界彌合數字鴻溝的努力」,Canalys 說道。
在前有微軟給出的解決方案,消費者不買單;后有不干預的做法,環境無法承載的情況下,究竟該怎么做?
對此,Canalys 在報告中呼吁,微軟等設備制造商和軟件供應商“最大限度地延長產品的使用壽命”的迫切需求。
Canalys 認為,Windows 10 支持結束后產生的電子垃圾規模凸顯了設備供應商和操作系統供應商在最大限度延長產品使用壽命方面的作用。為了促進循環經濟,原始設備制造商必須將耐用性、可修復性和可回收性納入其設備的設計中,而操作系統供應商必須確保這些設備盡可能長時間地可用和安全。總的來說,這些努力可以支持最終用戶、合作伙伴和 ITAD 專家,確保設備不會過早丟棄,而是通過維修、重新部署、翻新和轉售獲得第二次機會。
同時,就目前情況而言,Canalys 也表示,盡管歐盟即將出臺一項法規,要求智能手機和平板電腦供應商在設備推出后的一段時間內提供功能和安全更新,但目前還沒有任何法規來推動個人電腦市場的這一變化。與此同時,跨行業合作可能是解決技術行業令人擔憂且持續存在的電子垃圾問題的唯一解決方案。
換上 Linux 是否可行?
對于 Canalys 的呼吁,截至目前,微軟并未做出回應。
面對如此龐大數字的電子垃圾,不少用戶埋怨道“我仍然不明白強制 TPM 存在的想法是什么。如果沒有它,Windows 也能正常工作,而且繞過它也很簡單”。
對此,微軟官方曾解釋稱是為了安全著想。搭載 Windows 11 系統的硬件必須支持的 TPM (受信任的平臺模塊) 2.0 早在 2016 年便已經成為電腦的標準版本,它旨在提供與安全性相關的基本功能,主要涉及加密密鑰。
行業中,iOS、MacOS 實則也早已這么做了。微軟如今選擇此舉,也是為了更好地提供安全的體驗。不過,不少用戶并不買單。
有網友也直接出謀劃策給出了建議:
如何攔截這種性質的”報廢“機器?我有一個想法,就是在這樣的機器上安裝適合新手的 Linux 發行版并將其贈送出去。想想看,這未必不能走通。
蘋果對其 Macintosh 系列做了同樣的事情,較新版本的 macOS 不支持某些較舊的 Mac。MacOS 的這種情況已經存在很長時間了,而且似乎沒有人關心 Apple 這樣做。在舊 Mac 上安裝 Linux 以保持其活力,就像舊 PC 一樣。
看來現在是傳播 Ubuntu 和 Mint 的好時機!
參考:
https://news.ycombinator.com/item?id=38730914
https://www.canalys.com/insights/end-of-windows-10-support-could-turn-240-million-pcs-into-e-waste
https://www.techradar.com/computing/windows/windows-10-support-ending-could-be-an-environmental-disaster-that-puts-240-million-pcs-on-the-scrapheap