国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Maven對(duì)Scala獨(dú)立應(yīng)用程序進(jìn)行編

這篇具有很好參考價(jià)值的文章主要介紹了使用Maven對(duì)Scala獨(dú)立應(yīng)用程序進(jìn)行編。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

任務(wù)描述

本關(guān)任務(wù):使用Scala編寫一個(gè)找出README.md文件中包含'a'的行數(shù)和包含'b'的行數(shù)的程序,并使用Maven對(duì)程序進(jìn)行編譯打包提交到Saprk上。

相關(guān)知識(shí)

在終端中執(zhí)行如下命令創(chuàng)建一個(gè)文件夾 sparkapp3作為應(yīng)用程序根目錄:

 
  1. cd ~ # 進(jìn)入用戶主文件夾
  2. mkdir ./sparkapp3 # 創(chuàng)建應(yīng)用程序根目錄
  3. mkdir -p ./sparkapp3/src/main/scala # 創(chuàng)建所需的文件夾結(jié)構(gòu)

在./sparkapp3/src/main/scala下建立一個(gè)名為SimpleApp.scala的文件(vim ./sparkapp3/src/main/scala/SimpleApp.scala),添加代碼如下:

 
  1. /* SimpleApp.scala */
  2. import org.apache.spark.SparkContext
  3. import org.apache.spark.SparkContext._
  4. import org.apache.spark.SparkConf
  5. object SimpleApp {
  6. def main(args: Array[String]) {
  7. val logFile = "file:///usr/local/spark/README.md" // Should be some file on your system
  8. val conf = new SparkConf().setAppName("Simple Application")
  9. val sc = new SparkContext(conf)
  10. val logData = sc.textFile(logFile, 2).cache()
  11. val numAs = logData.filter(line => line.contains("a")).count()
  12. val numBs = logData.filter(line => line.contains("b")).count()
  13. println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
  14. }
  15. }

該程序計(jì)算 /usr/local/spark/README 文件中包含 “a” 的行數(shù) 和包含 “b” 的行數(shù)。代碼第8行的 /usr/local/spark 為 Spark 的安裝目錄,如果不是該目錄請(qǐng)自行修改。不同于 Spark shell,獨(dú)立應(yīng)用程序需要通過(guò) val sc = new SparkContext(conf) 初始化 SparkContext,SparkContext 的參數(shù) SparkConf 包含了應(yīng)用程序的信息。 該程序依賴Spark Java API,因此我們需要通過(guò)Maven進(jìn)行編譯打包。在./sparkapp3目錄中新建文件pom.xml,命令如下:

 
  1. cd ~/sparkapp3
  2. vim pom.xml

然后,在pom.xml文件中添加如下內(nèi)容,用來(lái)聲明該獨(dú)立應(yīng)用程序的信息以及與Spark的依賴關(guān)系:

 
  1. <project>
  2. <groupId>cn.edu.xmu</groupId>
  3. <artifactId>simple-project</artifactId>
  4. <modelVersion>4.0.0</modelVersion>
  5. <name>Simple Project</name>
  6. <packaging>jar</packaging>
  7. <version>1.0</version>
  8. <repositories>
  9. <repository>
  10. <id>jboss</id>
  11. <name>JBoss Repository</name>
  12. <url>http://repository.jboss.com/maven2/</url>
  13. </repository>
  14. </repositories>
  15. <dependencies>
  16. <dependency> <!-- Spark dependency -->
  17. <groupId>org.apache.spark</groupId>
  18. <artifactId>spark-core_2.12</artifactId>
  19. <version>3.0.2</version>
  20. </dependency>
  21. </dependencies>
  22. <build>
  23. <sourceDirectory>src/main/scala</sourceDirectory>
  24. <plugins>
  25. <plugin>
  26. <groupId>org.scala-tools</groupId>
  27. <artifactId>maven-scala-plugin</artifactId>
  28. <executions>
  29. <execution>
  30. <goals>
  31. <goal>compile</goal>
  32. </goals>
  33. </execution>
  34. </executions>
  35. <configuration>
  36. <scalaVersion>2.12.10</scalaVersion>
  37. <args>
  38. <arg>-target:jvm-1.8</arg>
  39. </args>
  40. </configuration>
  41. </plugin>
  42. </plugins>
  43. </build>
  44. </project>

為了保證Maven能夠正常運(yùn)行,先執(zhí)行如下命令檢查整個(gè)應(yīng)用程序的文件結(jié)構(gòu):

 
  1. cd ~/sparkapp3
  2. find .

文件結(jié)構(gòu)應(yīng)該是類似如下的內(nèi)容:

 
  1. .
  2. ./pom.xml
  3. ./src
  4. ./src/main
  5. ./src/main/scala
  6. ./src/main/scala/SimpleApp.scala

接下來(lái),我們可以通過(guò)如下代碼將整個(gè)應(yīng)用程序打包成JAR包(注意:計(jì)算機(jī)需要保持連接網(wǎng)絡(luò)的狀態(tài),而且首次運(yùn)行打包命令時(shí),Maven會(huì)自動(dòng)下載依賴包,需要消耗幾分鐘的時(shí)間):

 
  1. cd ~/sparkapp3 #一定把這個(gè)目錄設(shè)置為當(dāng)前目錄
  2. /usr/local/maven/bin/mvn package

如果屏幕返回如下信息,則說(shuō)明生成JAR包成功:

使用Maven對(duì)Scala獨(dú)立應(yīng)用程序進(jìn)行編,java

生成的應(yīng)用程序JAR包的位置為~/sparkapp3/target/simple-project-1.0.jar。如果運(yùn)行Maven編譯打包過(guò)程很慢,是因?yàn)樾枰絿?guó)外網(wǎng)站下載很多的依賴包,國(guó)外網(wǎng)站速度很慢,因此,要花費(fèi)很長(zhǎng)時(shí)間。為了加快速度,可以更改為國(guó)內(nèi)的倉(cāng)庫(kù)地址。 最后,我們就可以將生成的 jar 包通過(guò) spark-submit 提交到 Spark 中運(yùn)行了,命令如下:

 
  1. /usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp3/target/simple-project-1.0.jar
  2. #上面命令執(zhí)行后會(huì)輸出太多信息,可以不使用上面命令,而使用下面命令查看想要的結(jié)果
  3. /usr/local/spark/bin/spark-submit --class "SimpleApp" ~/sparkapp3/target/simple-project-1.0.jar > step5.txt #結(jié)果輸出到step5.txt中
  4. cat step5.txt

得到的結(jié)果如下:

 
  1. Lines with a: 71, Lines with b: 38

到此,就順利完成 Spark 應(yīng)用程序的Maven編譯打包運(yùn)行了。

編程要求

根據(jù)提示,完成Maven對(duì)Sacal進(jìn)行打包。


開始你的任務(wù)吧,祝你成功!文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-521066.html

到了這里,關(guān)于使用Maven對(duì)Scala獨(dú)立應(yīng)用程序進(jìn)行編的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 使用iOS應(yīng)用程序進(jìn)行數(shù)據(jù)采集:從入門到實(shí)踐

    隨著移動(dòng)互聯(lián)網(wǎng)的普及,越來(lái)越多的數(shù)據(jù)產(chǎn)生于移動(dòng)設(shè)備。為了更好地了解用戶行為、優(yōu)化產(chǎn)品體驗(yàn),我們需要在iOS應(yīng)用程序中進(jìn)行數(shù)據(jù)采集。本文將指導(dǎo)您如何在iOS應(yīng)用中實(shí)現(xiàn)數(shù)據(jù)采集,從基本概念到實(shí)際操作。 數(shù)據(jù)采集的基本概念與方法 a. 數(shù)據(jù)采集的目的 數(shù)據(jù)采集的主

    2024年02月10日
    瀏覽(27)
  • “深入理解Spring Boot:構(gòu)建獨(dú)立、可擴(kuò)展的企業(yè)級(jí)應(yīng)用程序的最佳實(shí)踐“

    標(biāo)題:深入理解Spring Boot:構(gòu)建獨(dú)立、可擴(kuò)展的企業(yè)級(jí)應(yīng)用程序的最佳實(shí)踐 摘要:Spring Boot是一個(gè)強(qiáng)大的框架,可以幫助開發(fā)人員快速構(gòu)建獨(dú)立、可擴(kuò)展的企業(yè)級(jí)應(yīng)用程序。本文將深入探討Spring Boot的核心概念和最佳實(shí)踐,并通過(guò)示例代碼演示其用法。 正文: 什么是Spring Bo

    2024年02月14日
    瀏覽(33)
  • .NET6 獨(dú)立模式部署應(yīng)用程序(無(wú)需客戶機(jī)安裝指定版本.NET運(yùn)行時(shí))

    .NET6 獨(dú)立模式部署應(yīng)用程序(無(wú)需客戶機(jī)安裝指定版本.NET運(yùn)行時(shí))

    下圖對(duì)于.NET開發(fā)人員一定不陌生,尤其是CS架構(gòu),客戶電腦要運(yùn)行基于.NET開發(fā)的程序,無(wú)論是使用C#,還是VB.NET、F#,發(fā)布后的程序的運(yùn)行環(huán)境都需要有相應(yīng)版本的.NET的運(yùn)行時(shí),否則應(yīng)用程序?qū)o(wú)法正常運(yùn)行。 BS架構(gòu)下,在服務(wù)器上安裝指定版本.NET運(yùn)行時(shí),工作量可以忽略不

    2024年02月11日
    瀏覽(32)
  • 【云計(jì)算】3臺(tái)虛擬機(jī)完成Spark Yarn集群部署并編寫Scala應(yīng)用程序?qū)崿F(xiàn)單詞計(jì)數(shù)統(tǒng)計(jì)

    【云計(jì)算】3臺(tái)虛擬機(jī)完成Spark Yarn集群部署并編寫Scala應(yīng)用程序?qū)崿F(xiàn)單詞計(jì)數(shù)統(tǒng)計(jì)

    目錄 1.準(zhǔn)備環(huán)境 ? ? ? ? ?2.安裝spark并配置環(huán)境 3.安裝scala并配置環(huán)境 4.安裝編輯器idea 5.編寫Spark Scala應(yīng)用程序?qū)崿F(xiàn)單詞計(jì)數(shù)統(tǒng)計(jì) 6.Spark On Yarn配置 虛擬機(jī):vmware workstation16 linux版本:centOS 7 linux 分布式環(huán)境:hadoop 3.1.1 (1)創(chuàng)建三臺(tái)虛擬機(jī),并準(zhǔn)備好linux環(huán)境和hadoop,確保h

    2023年04月15日
    瀏覽(28)
  • Streamlit應(yīng)用程序使用Streamlit-Authenticator進(jìn)行用戶的安全身份驗(yàn)證實(shí)踐(解決升級(jí)問(wèn)題)

    Streamlit應(yīng)用程序使用Streamlit-Authenticator進(jìn)行用戶的安全身份驗(yàn)證實(shí)踐(解決升級(jí)問(wèn)題)

    在Streamlit官方文檔中,沒(méi)有提供提供安全身份驗(yàn)證組件。目前,第三方streamlit-authenticator提供此功能,詳見引用我原來(lái)的博文,在《Streamlit應(yīng)用程序使用Streamlit-Authenticator進(jìn)行用戶的安全身份驗(yàn)證實(shí)踐》文中,原使用的代碼報(bào)錯(cuò): 報(bào)錯(cuò)原因是Streamlit-Authenticator包升級(jí)了,原代碼

    2024年02月06日
    瀏覽(19)
  • 項(xiàng)目之利用 V4L2應(yīng)用程序框架 進(jìn)行視頻錄制

    目錄 知識(shí)儲(chǔ)備: 視頻采集方式: 處理采集數(shù)據(jù): 相關(guān)結(jié)構(gòu)體: 對(duì)于設(shè)備的操作步驟: ????????V4L2較V4L有較大的改動(dòng),并已成為 2.6 的標(biāo)準(zhǔn)接口,函蓋 videodvbFM... ,多數(shù)驅(qū)動(dòng)都在向 V4l2 遷移。更好地了解 V4L2 先從應(yīng)用入手,然后再深入到內(nèi)核中結(jié)合物理設(shè)備/接口的規(guī)范實(shí)現(xiàn)

    2023年04月09日
    瀏覽(19)
  • Unity打包錯(cuò)誤:無(wú)法成功進(jìn)行Unity3D應(yīng)用程序打包

    在Unity開發(fā)過(guò)程中,有時(shí)候會(huì)遇到各種各樣的錯(cuò)誤。其中一個(gè)常見的問(wèn)題是無(wú)法成功進(jìn)行Unity3D應(yīng)用程序的打包。本文將探討可能導(dǎo)致此錯(cuò)誤的幾種常見情況,并提供相應(yīng)的解決方案。 資源文件丟失或路徑錯(cuò)誤: 打包應(yīng)用程序時(shí),確保所有所需的資源文件都存在,并且路徑設(shè)

    2024年01月16日
    瀏覽(25)
  • C#【自動(dòng)化測(cè)試】對(duì)Windows桌面應(yīng)用程序進(jìn)行UI自動(dòng)化測(cè)試

    C#【自動(dòng)化測(cè)試】對(duì)Windows桌面應(yīng)用程序進(jìn)行UI自動(dòng)化測(cè)試

    本文簡(jiǎn)述如何利用appium對(duì)Windows桌面應(yīng)用程序進(jìn)行UI自動(dòng)化測(cè)試。 所謂UI自動(dòng)化測(cè)試,就是 模擬一個(gè)用戶,對(duì)應(yīng)用程序的UI進(jìn)行操作,以完成特定場(chǎng)景的功能性集成測(cè)試 。 要對(duì)Windows桌面應(yīng)用程序進(jìn)行UI自動(dòng)化測(cè)試,目前可選的技術(shù)主要是兩種: VS自帶的CodedUI Test和Appium+WinApp

    2024年01月15日
    瀏覽(39)
  • C# 利用 UI 自動(dòng)化框架與應(yīng)用程序的用戶界面進(jìn)行交互來(lái)模擬點(diǎn)擊按鈕

    ①需要引入命名空間: using System.Windows.Automation; ②添加兩個(gè)引用: UIAutomationClient、UIAutomationTypes 當(dāng)程序已經(jīng)啟動(dòng)時(shí), AutoClickLoginButton 方法會(huì)尋找名為\\\"FR\\\"的應(yīng)用程序進(jìn)程。然后,它使用 AutomationElement.FromHandle 從該進(jìn)程的主窗口句柄獲取根元素。 接著, FindLoginButton 方法被調(diào)用

    2024年01月25日
    瀏覽(30)
  • 企業(yè)聊天應(yīng)用程序使用 Kubernetes

    客戶端: 在我們的架構(gòu)中,客戶端可以分為三種類型:iOS 和 Android 移動(dòng)應(yīng)用程序以及 Web 聊天。移動(dòng)應(yīng)用程序首先通過(guò) API 網(wǎng)關(guān)服務(wù)與服務(wù)器進(jìn)行通信,其中客戶端會(huì)生成一個(gè)訪問(wèn)令牌,該令牌將授權(quán)每個(gè)通信和服務(wù)。 網(wǎng)絡(luò)聊天也以相同的方式進(jìn)行通信,并且與 Web 管理應(yīng)用

    2024年02月07日
    瀏覽(20)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包