4 IDEA環境のアプリケーション

最初の4 章の IDEA 環境アプリケーション

スパークシェルよりテストし、我々のプログラムの検証、本番環境では、通常では場合にのみ使用IDE プログラムをコンパイルして、ラベルのjar パッケージ、その後、クラスタに提出し、最も一般的な作成することですMavenの使用、プロジェクトをMavenの管理するためのjarファイルに依存するパッケージを。

4.1 での IDEA 準備中WORDCOUNTのプログラム

1 )を作成 MavenのプロジェクトWORDCOUNT と輸入依存度を

< 依存性> 
    < 依存性> 
        < のgroupId > org.apache.spark </ のgroupId > 
        < たartifactId >火花core_2.11 </ たartifactId > 
        < バージョン> 2.1.1 </ バージョン> 
    </ 依存> 
</ 依存関係> 
< 構築> 
        < finalName > WORDCOUNT </ finalName > 
        < プラグイン> 
            <プラグイン> 
                <groupId > net.alchim31.maven </ groupIdを> 
                < たartifactId >スカラ-のmaven-pluginの</ たartifactId > 
                < バージョン> 3.2.2 </ バージョン> 
                < 実行> 
                    < 実行> 
                        < 目標> 
                            < 目標>コンパイル</ 目標> 
                            < 目標> testCompile </ 目標> 
                        </ 目標> 
                    </ 実行>
                </実行> 
            </ プラグイン> 
            < プラグイン> 
                < のgroupId > org.apache.maven.plugins </ のgroupId > 
                < たartifactId > Mavenのアセンブリ・プラグイン</ たartifactId > 
                < バージョン> 3.0.0 </ バージョン> 
                < 構成> 
                    < アーカイブ> 
                        < マニフェスト> 
                            < mainClass > WORDCOUNT(修改)</ mainClass > 
                        </ マニフェスト>
                    </ アーカイブ> 
                    < descriptorRefs > 
                        < descriptorRef >ジャー付き依存性</ descriptorRef > 
                    </ descriptorRefs > 
                </ 構成> 
                < 実行> 
                    < 実行> 
                        < ID >メイクアセンブリ</ ID > 
                        < フェーズ>パッケージ</ 位相> 
                        < 目標> 
                            < 目標>シングル</ 目標> 
                        </目標> 
                    </ 実行> 
                </ 実行> 
            </ プラグイン> 
        </ プラグイン> 
</ 構築>

2)コードを書きます

パッケージcom.atguiguの

インポートorg.apache.spark {SparkConf、SparkContext}。

WORDCOUNT {オブジェクト

  DEFメイン(引数:配列[文字列]):単位 = { 

// 作成および設定SparkConfアプリケーション名 
    ヴァル= CONF 新しい新。SparkConf()setAppName (「WC」

// SparkContextを作成し、オブジェクトは、入口スパークアプリケーションに提出された 
    ヴァルのSC = 新しい新しいSparkContext(CONF)

    // SCは、対応する変換RDDとアクションの作成と実行使用 
    sc.textFile(引数(0))。flatMap (_.split( ""))。マップ((_ ,. 1))。reduceByKey(+ _ _ ,. 1)(_._ 2、.sortBy 偽に).saveAsTextFile(引数(1 ))

    sc.stop()
  } 
}

3)クラスタ試験に詰め

binに/火花防止\提出

 - クラスWORDCOUNT \を

:スパーク--master // \ 7077:hadoop102 

WordCount.jar \

 / word.txt \

 /アウト

4 0.2 ローカルデバッグ

ローカルスパークプログラムのデバッグを使用する必要があり、ローカル、コミットモードをネイティブ環境として実行しようとしているマスター、そして労働者はネイティブですそれは直接ブレークポイントデバッグランタイムを追加することができます。次のように:

 

作成 SparkConfを追加のプロパティを設定する際に、ローカル実行することを示しています。

ヴァルのconf =新しいSparkConf()。setAppName( "WC")。setMaster( "ローカル[*]")

 

    ネイティブのオペレーティングシステムがある場合は Windowsの、あなたがプログラムを使用する場合のHadoop などへのファイルの書き込みとして、物事を-関連HDFS 、我々は次の例外が発生します。

理由この問題はないプログラムエラーが、は使用しています Hadoopの-関連サービスを、溶液が内部で結合させることであるHadoopの-共通-bin- 2.7.3-x64.zip 任意のディレクトリに抽出

では IDEAの内の設定ファイル名を指定して実行  コンフィギュレーション、追加 HADOOP_HOMEの変数を

4 0.3 リモートデバッグ

IDEA リモートデバッグ、主にIDEA ドライバーは以下のようにアプリケーションを提出する、構成プロセスは次のとおりです。

変更 sparkConfを、最終的に実行するために必要な追加のJar パッケージドライバー・プログラムのアドレスを、および設定マスターアドレスを提出します:

ヴァルのconf =新しいSparkConf()。setAppName( "WC")

.setMaster( "スパーク:// hadoop102:7077")
.setJars(一覧( "E:\\ SparkIDEA \\ spark_test \\ターゲット\\ WordCount.jar"))

然后加入断点,直接调试即可:

 

おすすめ

転載: www.cnblogs.com/Diyo/p/11297045.html