1.Spark概要
スパークは、高速かつ汎用性の高いクラスタ・コンピューティング・プラットフォームを実現するために使用されています。
速度の面では、スパークが広く使用されているMapReduceの計算モデルを拡張するだけでなく、より効率的な計算モード、およびインタラクティブクエリ処理を含むストリームをサポートします。大規模なデータセットを扱う場合、速度が非常に重要です。私たちは、私たちは数分または数時間を待つ必要がありそうでない場合は、すべての操作をインタラクティブなデータ操作を高速化することができます。
重要な特徴は、メモリ内のスパークので、より高速に計算する能力です。しかし、たとえ複雑な計算は、ディスク上で実行する必要があり、スパークはまだのMapReduceよりも効率的です。
2.Sparkエコシステム
3.Spark学校のサイト
1)databricksのウェブサイト
2)スパーク公式サイト
3)githubののウェブサイト
ソースコードとコンパイルされたバージョンをダウンロードし4.Spark2.x
1)Spark2.2ソースコードダウンロードの/ opt /ソフトウェア/ bigdata-pro02.kfk.comディレクトリノードに。
減圧
タール-zxf火花-2.2.0.tgz -Cは/ opt /モジュール/
Maven3.3.9とJava8:2)必要な環境をコンパイルspark2.2
3)スパークソースコードをコンパイルする方法:Mavenのコンパイルは、SBTは、コンパイルされた(No)は、編集make-distribution.sh包装します
a)のダウンロード Jdk8をしてインストール
タール-zxf jdk8u11-linuxの-x64.tar.gz -Cは/ opt /モジュール/
b)のJAVA_HOMEの設定は/ etc / profile
viのは/ etc / profile
輸出JAVA_HOME =は/ opt /モジュール/ jdk1.8.0_11
輸出PATH = $ PATHに:$ JAVA_HOME / binに
編集が終了した後、力にそれを持って来ます
ソースは/ etc / profile
c)の問題が発生した場合は、現在のバージョンをロードすることはできません
ます。rpm -qa | grepのJDK
RPM -eは、JDKのバージョンを--nodeps
Javaの删除は/ usr / binに/ javaの
d)にMavenをダウンロードし、解凍します
ダウンロード Mavenを
解凍達人
タール-zxfのapache-mavenの-3.3.9-bin.tar.gz -Cは/ opt /モジュール/
設定MAVEN_HOME
viのは/ etc / profile
輸出MAVEN_HOME =は/ opt /モジュール/ apacheの-のmaven-3.3.9
輸出PATH = $ PATHに:$ MAVEN_HOME / binに
輸出MAVEN_OPTSの= " - Xmx2g -XX:MaxPermSizeを= 1024M -XX:ReservedCodeCacheSize = 1024M"
編集が終了した後、力にそれを持って来ます
ソースは/ etc / profile
ビューMavenのバージョン
MVN -version
E)make-distribution.sh編集内容は、より高速なコンパイルすることができます
VERSION = 2.2.0
SCALA_VERSION = 2.11.8
SPARK_HADOOP_VERSION = 2.5.0
ハイブの#サポートスパーク
SPARK_HIVE = 1
4)スパークソースコンパイラmake-distribution.shにより
-Phadoop-2.5 -Phive --tgz ./dev/make-distribution.sh --nameカスタムスパーク-Phive-thriftserver -Pyarn
終了後の#コンパイラの解凍
タールは、スパーク2.2.0-binの-カスタムspark.tgz -zxf -Cは/ opt /モジュール/
5.scalaのインストールと環境変数の設定
1)ダウンロード
2)解凍
タール-zxfのscala-2.11.8.tgz -Cは/ opt /モジュール/
3)設定の環境変数
viのは/ etc / profile
輸出SCALA_HOME =は/ opt /モジュール/スカラ-2.11.8
輸出PATH = $ PATH:$のSCALA_HOME / binに
編集が終了した後4)、力にそれを持って来ます
ソースは/ etc / profile
6.spark2.0ローカルモードのテスト
1)スパークシェルテストを開始
./bin/spark-shell
スカラ> valをテキストファイル= spark.read.textFile( "README.md")
テキストファイル:org.apache.spark.sql.Dataset [文字列] = [値:文字列]
スカラ> textFile.count()
RES0:ロング= 126
スカラ> textFile.first()
RES1:文字列=#Apacheのスパーク
スカラ>ヴァルlinesWithSpark = textFile.filter(ライン=> line.contains( "スパーク"))
linesWithSpark:org.apache.spark.sql.Dataset [文字列] = [値:文字列]
スカラ> textFile.filter(ライン=> line.contains( "スパーク"))。(カウント)//どのように多くの行 "スパーク" が含まれていますか?
RES3:ロング= 15
2)単語頻度統計
a)は、ローカルファイルstu.txtを作成します
我々は/opt/datas/stu.txt
Hadoopの嵐スパーク
HBaseのスパーク水路
スパークdajiangtaiスパーク
HDFSのMapReduceのスパーク
ハイブHDFSのSolrの
スパークFLINKの嵐
HBaseのストームES
Solrのdajiangtaiスカラ
LinuxのJavaのスカラ
PythonのスパークMLIB
カフカのスパークのmysql
それはSCALAスパーク
アズカバンoozie mysqlの
嵐の嵐の嵐
ScalaのMySQLはあります
スパークスパークスパーク
B)スパークシェル単語頻度統計
./bin/spark-shell
スカラ>ヴァルRDD = spark.read.textFile( "は/ opt /件のデータ/ stu.txt")
#単語の頻度統計
スカラ>ヴァル線= rdd.flatmap(X => x.split(」「))。地図(X =>(X、1))。rdd.reduceBykey((A、B)=>(A + B)) .collect
単語の出現頻度の#ソート
スカラ>ヴァル線= rdd.flatmap(X => x.split(」「))。地図(X =>(X、1))。rdd.reduceBykey((A、B)=>(A + B)) .MAP(X =>(x._2、x._1))。sortBykey()マップ(X =>(x._2、x._1))。コレクト
7.spark監視サービスのウェブページ
Webページを通じてサービスの火花をチェック
bigdata-pro01.kfk.com:4040