タスクをパッケージ化してクラスターに送信するSparkラーニングの最初のプログラム

キーレスログイン設定

ssh-keygen
cd .ssh
touch authorized_keys
cat id_rsa.pub > authorized_keys
chmod 600 authorized_keys

環境ツール

周囲

システムurbuntu jdk 1.7.0_79

scala 2.10.4

hadoop 2.6.0

スパーク1.6.2

梱包ツール

IDEA + sbt

ベール

プラグインをインストール

事前にscalaプラグインをインストールする必要があります。ファイル->設定->プラグイン->入力ボックスをクリックし、scala-> installと入力します。インストール
後にIDEを再起動する必要があります

プロジェクトを作成する

ファイル->新しいプロジェクト-> Scala-> SBT対応するバージョンを選択->完了

コードを書く

build.sbtはSpark関連の依存関係を追加します

name := "demoPro"

version := "1.0"

scalaVersion := "2.10.4"

libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.6.2"

WordCount.scalaを作成し、次のコードを記述します

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

/**
 * Created by Administrator on 2018/2/20.
 */
object WordCount {
    
    

  def main(args: Array[String]) {
    
    
    val conf = new SparkConf().setAppName("wordcount")
    val sc = new SparkContext(conf)
    val input = sc.textFile("/home/dell/helloSpark.txt")
    val lines = input.flatMap(line => (line.split(" ")))
    val count = lines.map(word => (word, 1)).reduceByKey {
    
     case (x, y) => x + y }
    val output=count.saveAsTextFile("/home/dell/helloSparkRes")
  }
}

ベール

ファイル->プロジェクト構造-> Aritifacts->クリック+記号-> jar-> 2番目->モジュールとMainClassを指定->ライブラリからのJARファイル2番目を選択-> OKをクリック

件名バーで[ビルド]-> [Aritifacts-ビルドのビルド]をクリックします。

プロジェクトのoutディレクトリに対応するjarパッケージを生成すると、パッケージは成功します

タスクを送信

Hadoopを開始する

#进入sbin目录
cd $Hadoop_HOME/sbin 
#启动hadoop集群
start-all.sh

テストファイルをhdfsにアップロードする

hadoop fs -put test.txt /test/test.txt

プログラムjarパッケージをアップロードする

是同filelize 或者sftp 或者 rz -y命令上传程序jar

タスクを送信

マスターを開始

sudo ./start-master.sh
访问localhost:8080 获取spark://xxx:7077

ワーカーを開始

sudo ./bin/spark-class org.apache.spark.deploy.worker.Worker spark://dell:7077

宿題を提出する

sudo ./bin/spark-submit --master spark://dell:7077 --class WordCount /home/dell/demopro.jar

テスト手順が正しいかどうかを確認します

フォルダが生成されたかどうかを確認し、ファイルを入力してプログラムが正しいかどうかを確認します

ファイルを入力して、プログラムが正しいかどうかを確認します

おすすめ

転載: blog.csdn.net/zzq060143/article/details/108343473