大数据开发工程师

download:大数据开发工程师

大数据开发工程师 【完结】
本套大数据课程中的技术体系包含目前主流的Hadoop、Spark、Flink三大技术生态圈,涵盖了企业中最常见的技术组件,可以满足大家在公司中的工作需求

Q:这套课程要学多久?学完能达到什么水平呢?
本套大数据学完的时间,和每个人的基础、接受能力和时间安排都有关,一般情况下,如果能保证每天听课1小时,练习至少2个小时,3~4个月是可以学完的。建议保持连续学习,这样学习效果更好,以及通过视频配套的思维导图做好预习,电子书巩固视频内容。学完后可以达到大数据中级工程师水平,满足绝大部分公司的大数据岗位需求。

Q:这套大数据课程中学的东西工作中够用吗?
足够用的,目前本套大数据课程中的技术体系包含目前主流的Hadoop、Spark、Flink三大技术生态圈,涵盖了企业中最常见的技术组件,可以满足大家在公司中的工作需求。

Q:我目前是java程序员,大数据属于零基础,能学的会吗?
可以的,java程序员学习大数据是具有天然优势的,大数据中的技术框架大部分都是基于java开发的,学习起来很容易上手。 并且我们本套课程配套的有完整的电子书,方便大家及时查漏补缺,以及本套视频教程带有配套字幕,学起来也会更加轻松。

一、WordCount

(著重以WordCount編程爲重點停止練習,後面的例子若有反復的步骤就简單略過)

1.翻開idea,創立scala工程

其中,JDK和Scala SDK就是java和scala的途径

2.在src文件夾下創立兩個子目錄,一個cluster用於跑spark,另外一個local用於idea上調試。(其中out目錄和META-INF創立jar包後自動生成的,開端並沒有)然後在兩個個文件夾下分別創立scala.class

3.然後要想停止spark編程,我們就得導入spark的相關包

File → Projecte Structure → Libraries → “+”→ Java → 選择spark目錄下的jars文件夾

ps:其實我們的編程暫時用不到這個目錄下的一切包,能夠只導入需求的,但就需求花時間去找;也能夠全部導入,但是整個工程就會變得臃腫然後點OK再點OK,回到界面,我們的相關包就導入完成了

4.接下來就是正式的編程,我們先上WordCount的代码

//指在cluster這個目錄下

package cluster

//導入了spark的SparkConf, SparkContext兩個類

import org.apache.spark.{SparkConf, SparkContext}

object WordCount {

def main(args: Array[String]) {

if (args.length < 1) {

System.err.println("Usage: ")

System.exit(1)

}

//實例化configuration,用於編輯我們任務的相關信息,後面的setAppName能夠在控製台運轉的時分再設置

val conf = new SparkConf().setAppName("MySparkApp")

// sc是Spark Context,指的是“上下文”,也就是我們運轉的環境,需求把conf當參數傳進去;

val sc = new SparkContext(conf)

//經過sc獲取一個(hdfs上的)文本文件,args(0)就是我們控製台上傳入的參數,local運轉的話就是傳入本地一個文本的path

val line = sc.textFile(args(0))

//下面就是wordcount詳細的執行代码

line.flatMap(.split("")).map((, 1)).reduceByKey(+).collect().foreach(println)

sc.stop()

}

}

這就是WordCount的代码,用於在Spark平台上跑。假如需求在idea上測試的話,就能夠把args(0)詳細改爲一個文本文件的path。比方在工程的目錄下創立data文件夾,把test.txt扔上去,args(0)就能夠修正爲"data/test.txt";然後把sc設置爲

val spark=new SparkContext("local","SparkPI")

這樣的本地形式,就能夠直接在idea上run。

5.打包成jar文件

File → Projecte Structure → Artifacts → “+” → JAR → From modules with dependencies... ...(這個選項的意義是把我們引入的一切外部包都封裝起來,Empty就是不算上我們引入的spark包)

然後Main Class就選择我們的cluster,local是我們用於本地測試的,並且Main Class的名字一定要記住,後面spark上運轉是要運用的。然後點ok就能夠創立相關文件。假如之前就創立了的話,需求把之前的相關信息,也就是工程下的META-INF文件夾删除才能夠勝利創立。

回到主界面,然後Build → BuildArtifacts 就能夠自行創立jar包了。

6.idea會把創立的jar包放進工程下的out文件夾,我們把它找到,爲了便當,把jar包放進spark目錄下,然後翻開,進入META-INF文件夾,把後缀名爲.DSA .SF . RSA的文件删除,

由於查材料說某些包的簽名有問題,會招致我們在運轉時找不到主類,事實上也的確是....

7.我們進入spark目錄,經過bin文件夾下的spark-submit來提交任務,執行命令./bin/spark-submit -h來取得協助文檔,我就拿挑幾個常用的:

8.

根本格式:

Usage: spark-submit [options] [app arguments]

Usage: spark-submit --kill [submission ID] --master [spark://...]

Usage: spark-submit --status [submission ID] --master [spark://...]

Usage: spark-submit run-example [options] example-class [example args]

選項:

猜你喜欢

转载自blog.51cto.com/15079126/2592021