真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Spark該怎樣入門

本篇文章為大家展示了Spark該怎樣入門,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

成都創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括合肥網(wǎng)站建設(shè)、合肥網(wǎng)站制作、合肥網(wǎng)頁制作以及合肥網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,合肥網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到合肥省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

1. Spark簡介

2009年,Spark誕生于伯克利大學(xué)的AMPLab實(shí)驗(yàn)室。最出Spark只是一個(gè)實(shí)驗(yàn)性的項(xiàng)目,代碼量非常少,屬于輕量級的框架。  2010年,伯克利大學(xué)正式開源了Spark項(xiàng)目。  2013年6月,Spark成為了Apache基金會下的項(xiàng)目,進(jìn)入高速發(fā)展期。第三方開發(fā)者貢獻(xiàn)了大量的代碼,活躍度非常高  2014年2月,Spark以飛快的速度稱為了Apache的頂級項(xiàng)目,同時(shí)大數(shù)據(jù)公司Cloudera宣稱加大Spark框架的投入來取代MapReduce  2014年4月,大數(shù)據(jù)公司MapR投入Spark陣營, Apache Mahout放棄MapReduce,將使用Spark作為計(jì)算引擎。  2014年5月,Spark 1.0.0 發(fā)布。  2015年~,Spark在國內(nèi)IT行業(yè)變得愈發(fā)火爆,越來越多的公司開始重點(diǎn)部署或者使用Spark來替代MR2、Hive、Storm等傳統(tǒng)的大數(shù)據(jù)并行計(jì)算框架

2. Spark是什么?

Apache Spark? is a unified analytics engine for large-scale data processing.  大規(guī)模數(shù)據(jù)集的統(tǒng)一分析引擎  Spark是一個(gè)基于內(nèi)存的通用并行計(jì)算框架,目的是讓數(shù)據(jù)分析更加快速  Spark包含了大數(shù)據(jù)領(lǐng)域常見的各種計(jì)算框架      spark core(離線計(jì)算)    sparksql(交互式查詢)    spark streaming(實(shí)時(shí)計(jì)算)    Spark MLlib (機(jī)器學(xué)習(xí))    Spark GraphX (圖計(jì)算)

3. Spark能代替hadoop嗎?

不完全對

因?yàn)槲覀冎荒苁褂胹park core代替mr做離線計(jì)算,數(shù)據(jù)的存儲還是要依賴hdfs

Spark+Hadoop的組合,才是未來大數(shù)據(jù)領(lǐng)域最熱門的組合,也是最有前景的組合!

4. Spark的特點(diǎn)

速度

內(nèi)存計(jì)算在速度上要比mr快100倍以上  磁盤計(jì)算在速度上要比mr快10倍以上

容易使用

提供了java scala python R語言的api接口

一站式解決方案

spark core(離線計(jì)算)  spark sql(交互式查詢)  spark streaming(實(shí)時(shí)計(jì)算)  .....

可以運(yùn)行在任意的平臺

yarn  Mesos  standalone

5. Spark的缺點(diǎn)

JVM的內(nèi)存overhead太大,1G的數(shù)據(jù)通常需要消耗5G的內(nèi)存 (Project Tungsten 正試圖解決這個(gè)問題 )

不同的spark app之間缺乏有效的共享內(nèi)存機(jī)制(Project Tachyon 在試圖引入分布式的內(nèi)存管理,這樣不同的spark app可以共享緩存的數(shù)據(jù))

6. Spark vs MR

6.1 mr的局限性

抽象層次低,需要手工編寫代碼來完成,使用上難以上手  只提供兩個(gè)操作,Map和Reduce,表達(dá)力欠缺  一個(gè)Job只有Map和Reduce兩個(gè)階段(Phase), 復(fù)雜的計(jì)算需要大量的Job完成,Job之間的依賴關(guān)系是由開發(fā)者自己管理的  中間結(jié)果 (reduce的輸出結(jié)果) 也放在HDFS文件系統(tǒng)中 延遲高,只適用Batch數(shù)據(jù)處理,對于交互式數(shù)據(jù)處理,實(shí)時(shí)數(shù)據(jù)處理的支持不夠  對于迭代式數(shù)據(jù)處理性能比較差

6.2 Spark解決了mr中的那些問題?

抽象層次低,需要手工編寫代碼來完成,使用上難以上手

通過spark中的RDD(Resilient distributed datasets)來進(jìn)行抽象

只提供兩個(gè)操作,Map和Reduce,表達(dá)力欠缺

在spark中提供了多種算子

一個(gè)Job只有Map和Reduce兩個(gè)階段

在spark中可以有多個(gè)階段(stage)

中間結(jié)果也放在HDFS文件系統(tǒng)中(速度慢)

中間結(jié)果放在內(nèi)存中,內(nèi)存放不下了會寫入本地磁盤,而不是HDFS

延遲高,只適用Batch數(shù)據(jù)處理,對于交互式數(shù)據(jù)處理,實(shí)時(shí)數(shù)據(jù)處理的支持不夠

sparksql和sparkstreaming解決了上面問題

對于迭代式數(shù)據(jù)處理性能比較差

通過在內(nèi)存中緩存數(shù)據(jù),提高迭代式計(jì)算的性能

==因此,Hadoop MapReduce會被新一代的大數(shù)據(jù)處理平臺替代是技術(shù)發(fā)展的趨勢,而在新一代的大數(shù)據(jù)處理平臺中,Spark目前得到了最廣泛的認(rèn)可和支持==

7. Spark的版本

spark1.6.3 : scala的版本2.10.5  spark2.2.0 : scala的版本2.11.8(新項(xiàng)目建議使用spark2.x的版本)  hadoop2.7.5

8. Spark單機(jī)版的安裝

準(zhǔn)備安裝包spark-2.2.0-bin-hadoop2.7.tgz

tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz -C /opt/mv spark-2.2.0-bin-hadoop2.7/ spark

修改spark-env.sh

export JAVA_HOME=/opt/jdkexport SPARK_MASTER_IP=uplooking01export SPARK_MASTER_PORT=7077export SPARK_WORKER_CORES=4export SPARK_WORKER_INSTANCES=1export SPARK_WORKER_MEMORY=2gexport HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop

配置環(huán)境變量

#配置Spark的環(huán)境變量export SPARK_HOME=/opt/sparkexport PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

啟動單機(jī)版spark

start-all-spark.sh

查看啟動

http://uplooking01:8080

9. Spark分布式集群的安裝

配置spark-env.sh

[root@uplooking01 /opt/spark/conf]   export JAVA_HOME=/opt/jdk  #配置master的主機(jī)  export SPARK_MASTER_IP=uplooking01  #配置master主機(jī)通信的端口  export SPARK_MASTER_PORT=7077  #配置spark在每個(gè)worker中使用的cpu核數(shù)  export SPARK_WORKER_CORES=4  #配置每個(gè)主機(jī)有一個(gè)worker  export SPARK_WORKER_INSTANCES=1  #worker的使用內(nèi)存是2gb  export SPARK_WORKER_MEMORY=2g  #hadoop的配置文件中的目錄  export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop

配置slaves

[root@uplooking01 /opt/spark/conf]  uplooking03  uplooking04  uplooking05

分發(fā)spark

[root@uplooking01 /opt/spark/conf]   scp -r /opt/spark uplooking02:/opt/  scp -r /opt/spark uplooking03:/opt/  scp -r /opt/spark uplooking04:/opt/  scp -r /opt/spark uplooking05:/opt/

分發(fā)uplooking01上配置的環(huán)境變量

[root@uplooking01 /]   scp -r /etc/profile uplooking02:/etc/  scp -r /etc/profile uplooking03:/etc/  scp -r /etc/profile uplooking04:/etc/  scp -r /etc/profile uplooking05:/etc/

啟動spark

[root@uplooking01 /]  start-all-spark.sh

10. Spark高可用集群

先停止正在運(yùn)行的spark集群

修改spark-env.sh

#注釋以下這兩行內(nèi)容#export SPARK_MASTER_IP=uplooking01#export SPARK_MASTER_PORT=7077

添加內(nèi)容

export SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=uplooking03:2181,uplooking04:2181,uplooking05:2181 -Dspark.deploy.zookeeper.dir=/spark"

分發(fā)修改的[配置

scp /opt/spark/conf/spark-env.sh uplooking02:/opt/spark/confscp /opt/spark/conf/spark-env.sh uplooking03:/opt/spark/confscp /opt/spark/conf/spark-env.sh uplooking04:/opt/spark/confscp /opt/spark/conf/spark-env.sh uplooking05:/opt/spark/conf

啟動集群

[root@uplooking01 /] start-all-spark.sh[root@uplooking02 /] start-master.sh

11. 第一個(gè)Spark-Shell程序

spark-shell --master spark://uplooking01:7077 #spark-shell可以在啟動時(shí)指定spark-shell這個(gè)application使用的資源(總核數(shù),每個(gè)work上使用的內(nèi)存)spark-shell --master spark://uplooking01:7077 --total-executor-cores 6 --executor-memory 1g#如果不指定 默認(rèn)使用每個(gè)worker上全部的核數(shù),和每個(gè)worker上的1g內(nèi)存

sc.textFile("hdfs://ns1/sparktest/").flatMap(_.split(",")).map((_,1)).reduceByKey(_+_).collect

12. Spark中的角色

Master

負(fù)責(zé)接收提交的作業(yè)的請求  master負(fù)責(zé)調(diào)度資源(在woker中啟動CoarseGrainedExecutorBackend)

Worker

worker中的executor負(fù)責(zé)執(zhí)行task

Spark-Submitter ===> Driver

提交spark應(yīng)用程序給master

上述內(nèi)容就是Spark該怎樣入門,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


新聞名稱:Spark該怎樣入門
轉(zhuǎn)載來于:http://weahome.cn/article/ppiced.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部