最初の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"))
然后加入断点,直接调试即可: