本文來自作者 孫啟誠 在 GitChat 上分享「三個月大數(shù)據(jù)工程師學(xué)習(xí)計劃」,「閱讀原文」查看交流實錄 「文末高能」 編輯 | 花輪同學(xué)
前言 一、背景介紹本人目前是一名大數(shù)據(jù)工程師,項目數(shù)據(jù)50T,日均數(shù)據(jù)增長20G左右,個人是從 Java 后端開發(fā),經(jīng)過3個月的業(yè)余自學(xué)成功轉(zhuǎn)型大數(shù)據(jù)工程師。 二、大數(shù)據(jù)介紹大數(shù)據(jù)本質(zhì)也是數(shù)據(jù),但是又有了新的特征,包括數(shù)據(jù)來源廣、數(shù)據(jù)格式多樣化(結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)、Excel文件、文本文件等)、數(shù)據(jù)量大(最少也是TB級別的、甚至可能是PB級別)、數(shù)據(jù)增長速度快等。 針對以上主要的4個特征我們需要考慮以下問題:
以上大致就把整個大數(shù)據(jù)生態(tài)里面用到的工具所解決的問題列舉了一遍,知道了他們?yōu)槭裁炊霈F(xiàn)或者說出現(xiàn)是為了解決什么問題,進行學(xué)習(xí)的時候就有的放矢了。 正文一、大數(shù)據(jù)相關(guān)工作介紹大數(shù)據(jù)方向的工作目前主要分為三個主要方向:
二、大數(shù)據(jù)工程師的技能要求附上大數(shù)據(jù)工程師技能圖: 必須掌握的技能11條
高階技能6條
三、學(xué)習(xí)路徑假設(shè)每天可以抽出3個小時的有效學(xué)習(xí)時間,加上周末每天保證10個小時的有效學(xué)習(xí)時間; 3個月會有(213+4210)3=423小時的學(xué)習(xí)時間。 第一階段(基礎(chǔ)階段) 1)Linux 學(xué)習(xí)(跟鳥哥學(xué)就ok了)——-20小時
官網(wǎng):https://www./download/ 2)Java 高級學(xué)習(xí)(《深入理解Java虛擬機》、《Java高并發(fā)實戰(zhàn)》)—-30小時
官網(wǎng):https://www./zh_CN/ 3)Zookeeper學(xué)習(xí)(可以參照這篇博客進行學(xué)習(xí):http://www.cnblogs.com/wuxl360/p/5817471.html)
官網(wǎng):http://zookeeper./ 第二階段(攻堅階段) 4)Hadoop (《Hadoop 權(quán)威指南》)—-80小時
官網(wǎng):http://hadoop./ 5)Hive(《Hive開發(fā)指南》)—20小時
官網(wǎng):https://hive./ 6)HBase(《HBase 權(quán)威指南》)—-20小時
官網(wǎng):http://hbase./ 7)Scala(《快學(xué)Scala》)—20小時
官網(wǎng):http://www./ 8)Spark (《Spark 權(quán)威指南》)—-60小時
這個部分一般工作中如果不是數(shù)據(jù)挖掘,機器學(xué)習(xí)一般用不到,可以等到需要用到的時候再深入學(xué)習(xí)。 官網(wǎng):http://spark. 9)Python (推薦廖雪峰的博客)—-30小時 10)自己用虛擬機搭建一個集群,把所有工具都裝上,自己開發(fā)一個小demo —-30小時 可以自己用VMware搭建4臺虛擬機,然后安裝以上軟件,搭建一個小集群(本人親測,I7,64位,16G內(nèi)存,完全可以運行起來,以下附上我學(xué)習(xí)時用虛擬機搭建集群的操作文檔) 集群搭建文檔1.0版本 1. 集群規(guī)劃
2. 前期準備 2.0 系統(tǒng)安裝2.1 主機名配置 2.1.0 vi /etc/sysconfig/network NETWORKING=yes 2.1.1 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=ys02 2.1.2 vi /etc/sysconfig/network NETWORKING=yes 2.1.3 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=ys042.2 host文件修改 2.2.0 vi /etc/hosts 10.1.1.149 ys01 10.1.1.148 ys02 10.1.1.146 ys03 10.1.1.145 ys042.3 關(guān)閉防火墻(centos 7默認使用的是firewall,centos 6 默認是iptables) 2.3.0 systemctl stop firewalld.service (停止firewall) 2.3.1 systemctl disable firewalld.service (禁止firewall開機啟動) 2.3.2 firewall-cmd --state (查看默認防火墻狀態(tài)(關(guān)閉后顯示notrunning,開啟后顯示running)2.4 免密登錄(ys01 ->ys02,03,04) ssh-keygen -t rsa ssh-copy-id ys02(隨后輸入密碼) ssh-copy-id ys03(隨后輸入密碼) ssh-copy-id ys04(隨后輸入密碼) ssh ys02(測試是否成功) ssh ys03(測試是否成功) ssh ys04(測試是否成功)2.5 系統(tǒng)時區(qū)與時間同步 tzselect(生成日期文件) cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime(將日期文件copy到本地時間中) 3. 軟件安裝 3.0 安裝目錄規(guī)劃(軟件為所有用戶公用) 3.0.0所有軟件的安裝放到/usr/local/ys/soft目錄下(mkdir /usr/local/ys/soft) 3.0.1所有軟件安裝到/usr/local/ys/app目錄下(mkdir /usr/local/ys/app) 3.1 JDK(jdk1.7)安裝 3.1.1 alt+p 后出現(xiàn)sftp窗口,cd /usr/local/ys/soft,使用sftp上傳tar包到虛機ys01的/usr/local/ys/soft目錄下 3.1.2解壓jdk cd /usr/local/ys/soft #解壓 tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/local/ys/app 3.1.3將java添加到環(huán)境變量中 vim /etc/profile #在文件最后添加 export JAVA_HOME= /usr/local/ys/app/ jdk-7u80 export PATH=$PATH:$JAVA_HOME/bin 3.1.4 刷新配置 source /etc/profile3.2 Zookeeper安裝 3.2.0解壓 tar -zxvf zookeeper-3.4.5.tar.gz -C /usr/local/ys/app(解壓) 3.2.1 重命名 mv zookeeper-3.4.5 zookeeper(重命名文件夾zookeeper-3.4.5為zookeeper) 3.2.2修改環(huán)境變量 vi /etc/profile(修改文件) 添加內(nèi)容: export ZOOKEEPER_HOME=/usr/local/ys/app/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin 3.2.3 重新編譯文件: source /etc/profile 注意:3臺zookeeper都需要修改 3.2.4修改配置文件 cd zookeeper/conf cp zoo_sample.cfg zoo.cfg vi zoo.cfg 添加內(nèi)容: dataDir=/usr/local/ys/app/zookeeper/data dataLogDir=/usr/local/ys/app/zookeeper/log server.1=ys01:2888:3888 (主機名, 心跳端口、數(shù)據(jù)端口) server.2=ys02:2888:3888 server.3=ys04:2888:3888 3.2.5 創(chuàng)建文件夾 cd /usr/local/ys/app/zookeeper/ mkdir -m 755 data mkdir -m 755 log 3.2.6 在data文件夾下新建myid文件,myid的文件內(nèi)容為: cd data vi myid 添加內(nèi)容: 1 將集群下發(fā)到其他機器上 scp -r /usr/local/ys/app/zookeeper ys02:/usr/local/ys/app/ scp -r /usr/local/ys/app/zookeeper ys04:/usr/local/ys/app/ 3.2.7修改其他機器的配置文件 到y(tǒng)s02上:修改myid為:2 到y(tǒng)s02上:修改myid為:3 3.2.8啟動(每臺機器) zkServer.sh start 查看集群狀態(tài) jps(查看進程) zkServer.sh status(查看集群狀態(tài),主從信息)3.3 Hadoop(HDFS+Yarn) 3.3.0 alt+p 后出現(xiàn)sftp窗口,使用sftp上傳tar包到虛機ys01的/usr/local/ys/soft目錄下 3.3.1 解壓jdk cd /usr/local/ys/soft #解壓 tar -zxvf cenos-7-hadoop-2.6.4.tar.gz -C /usr/local/ys/app 3.3.2 修改配置文件core-site.xml hdfs-site.xml yarn-sifite.xml svalesys02ys03ys043.3.3集群啟動(嚴格按照下面的步驟) 3.3.3.1啟動zookeeper集群(分別在ys01、ys02、ys04上啟動zk) cd /usr/local/ys/app/zookeeper-3.4.5/bin/ ./zkServer.sh start #查看狀態(tài):一個leader,兩個follower ./zkServer.sh status 3.3.3.2啟動journalnode(分別在在mini5、mini6、mini7上執(zhí)行) cd /usr/local/ys/app/hadoop-2.6.4 sbin/hadoop-daemon.sh start journalnode #運行jps命令檢驗,ys02、ys03、ys04上多了JournalNode進程 3.3.3.3格式化HDFS #在ys01上執(zhí)行命令: hdfs namenode -format #格式化后會在根據(jù)core-site.xml中的hadoop.tmp.dir配置生成個文件,這里我配置的是/usr/local/ys/app/hadoop-2.6.4/tmp,然后將/usr/local/ys/app/hadoop-2.6.4/tmp拷貝到y(tǒng)s02的/usr/local/ys/app/hadoop-2.6.4/下。 scp -r tmp/ ys02:/usr/local/ys /app/hadoop-2.6.4/ ##也可以這樣,建議hdfs namenode -bootstrapStandby 3.3.3.4格式化ZKFC(在ys01上執(zhí)行一次即可) hdfs zkfc -formatZK 3.3.3.5啟動HDFS(在ys01上執(zhí)行) sbin/start-dfs.sh 3.3.3.6啟動YARN sbin/start-yarn.sh3.3MySQL-5.6安裝 略過3.4 Hive 3.4.1 alt+p 后出現(xiàn)sftp窗口,cd /usr/local/ys/soft,使用sftp上傳tar包到虛機ys01的/usr/local/ys/soft目錄下 3.4.2解壓 cd /usr/local/ys/softtar -zxvf hive-0.9.0.tar.gz -C /usr/local/ys/app 3.4.3 .配置hive 3.4.3.1配置HIVE_HOME環(huán)境變量 vi conf/hive-env.sh 配置其中的$hadoop_home 3.4.3.2配置元數(shù)據(jù)庫信息 vi hive-site.xml 添加如下內(nèi)容: 3.4.4 安裝hive和mysq完成后,將mysql的連接jar包拷貝到$HIVE_HOME/lib目錄下 如果出現(xiàn)沒有權(quán)限的問題,在mysql授權(quán)(在安裝mysql的機器上執(zhí)行) mysql -uroot -p #(執(zhí)行下面的語句 *.*:所有庫下的所有表 %:任何IP地址或主機都可以連接) GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION; FLUSH PRIVILEGES; 3.4.5 Jline包版本不一致的問題,需要拷貝hive的lib目錄中jline.2.12.jar的jar包替換掉hadoop中的 /usr/local/ys/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar 3.4.6啟動hive bin/hive3.5 Kafka 3.5.1 下載安裝包 http://kafka./downloads.html 在linux中使用wget命令下載安裝包 wget http://mirrors./apache/kafka/0.8.2.2/kafka_2.11-0.8.2.2.tgz 3.5.2 解壓安裝包 tar -zxvf /usr/local/ys/soft/kafka_2.11-0.8.2.2.tgz -C /usr/local/ys/app/cd /usr/local/ys/app/ln -s kafka_2.11-0.8.2.2 kafka 3.5.3 修改配置文件 cp /usr/local/ys/app/kafka/config/server.properties /usr/local/ys/app/kafka/config/server.properties.bak vi /usr/local/ys/kafka/config/server.properties 輸入以下內(nèi)容: 3.5.4 分發(fā)安裝包 scp -r /usr/local/ys/app/kafka_2.11-0.8.2.2 ys02: /usr/local/ys/app/ scp -r /usr/local/ys/app/kafka_2.11-0.8.2.2 ys03: /usr/local/ys/app/ scp -r /usr/local/ys/app/kafka_2.11-0.8.2.2 ys04: /usr/local/ys/app/ 然后分別在各機器上創(chuàng)建軟連 cd /usr/local/ys/app/ ln -s kafka_2.11-0.8.2.2 kafka 3.5.5 再次修改配置文件(重要) 依次修改各服務(wù)器上配置文件的的broker.id,分別是0,1,2不得重復(fù)。 3.5.6 啟動集群 依次在各節(jié)點上啟動kafka bin/kafka-server-start.sh config/server.properties3.6 Spark 3.6.1 alt+p 后出現(xiàn)sftp窗口,cd /usr/local/ys/soft,使用sftp上傳tar包到虛機ys01的/usr/local/ys/soft目錄下 3.6.2 解壓安裝包tar -zxvf /usr/local/ys/soft/ spark-1.6.1-bin-hadoop2.6.tgz -C /usr/local/ys/app/ 3.6.3 修改Spark配置文件(兩個配置文件spark-env.sh和slaves) cd /usr/local/ys/soft/spark-1.6.1-bin-hadoop2.6 進入conf目錄并重命名并修改spark-env.sh.template文件 cd conf/ mv spark-env.sh.template spark-env.sh vi spark-env.sh 在該配置文件中添加如下配置 export JAVA_HOME=/usr/java/jdk1.7.0_45 export SPARK_MASTER_PORT=7077 export SPARK_DAEMON_JAVA_OPTS='-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=ys01,ys02,ys04 -Dspark.deploy.zookeeper.dir=/spark' 保存退出 重命名并修改slaves.template文件 mv slaves.template slaves vi slaves 在該文件中添加子節(jié)點所在的位置(Worker節(jié)點) Ys02 Ys03 Ys04 保存退出 3.6.4 將配置好的Spark拷貝到其他節(jié)點上 scp -r spark-1.6.1-in-hadoop2.6/ ys02:/usr/local/ys/app scp -r spark-1.6.1-bin-hadoop2.6/ ys03:/usr/local/ys/app scp -r spark-1.6.1-bin-hadoop2.6/ ys04:/usr/local/ys/app 3.6.5 集群啟動 在ys01上執(zhí)行sbin/start-all.sh腳本 然后在ys02上執(zhí)行sbin/start-master.sh啟動第二個Master3.7 Azkaban 3.7.1 azkaban web服務(wù)器安裝 解壓azkaban-web-server-2.5.0.tar.gz 命令: tar –zxvf /usr/local/ys/soft/azkaban-web-server-2.5.0.tar.gz -C /usr/local/ys/app/azkaban 將解壓后的azkaban-web-server-2.5.0 移動到 azkaban目錄中,并重新命名 webserver 命令: mv azkaban-web-server-2.5.0 ../azkaban cd ../azkaban mv azkaban-web-server-2.5.0 webserver 3.7.2 azkaban 執(zhí)行服器安裝 解壓azkaban-executor-server-2.5.0.tar.gz 命令:tar –zxvf /usr/local/ys/soft/azkaban-executor-server-2.5.0.tar.gz -C /usr/local/ys/app/azkaban 將解壓后的azkaban-executor-server-2.5.0 移動到 azkaban目錄中,并重新命名 executor 命令:mv azkaban-executor-server-2.5.0 ../azkaban cd ../azkaban mv azkaban-executor-server-2.5.0 executor 3.7.3 azkaban腳本導(dǎo)入 解壓: azkaban-sql-script-2.5.0.tar.gz 命令:tar –zxvf azkaban-sql-script-2.5.0.tar.gz 將解壓后的mysql 腳本,導(dǎo)入到mysql中: 進入mysql mysql> create database azkaban; mysql> use azkaban; Database changed mysql> source /usr/local/ys/soft/azkaban-2.5.0/create-all-sql-2.5.0.sql; 3.7.4 創(chuàng)建SSL配置 參考地址: http://docs./display/JETTY/How+to+configure+SSL 命令: keytool -keystore keystore -alias jetty -genkey -keyalg RSA 運行此命令后,會提示輸入當(dāng)前生成 keystor的密碼及相應(yīng)信息,輸入的密碼請勞記,信息如下(此處我輸入的密碼為:123456) 輸入keystore密碼: 再次輸入新密碼: 您的名字與姓氏是什么? [Unknown]: 您的組織單位名稱是什么? [Unknown]: 您的組織名稱是什么? [Unknown]: 您所在的城市或區(qū)域名稱是什么? [Unknown]: 您所在的州或省份名稱是什么? [Unknown]: 該單位的兩字母國家代碼是什么 [Unknown]: CN CN=Unknown, OU=Unknown, O=Unknown, L=Unknown, ST=Unknown, C=CN 正確嗎? [否]: y輸入 內(nèi)容說明如下: *Azkaban Personalization Settingsazkaban.name=Test #服務(wù)器UI名稱,用于服務(wù)器上方顯示的名字azkaban.label=My Local Azkaban #描述azkaban.color=#FF3601 #UI顏色azkaban.default.servlet.path=/index #web.resource.dir=web/ #默認根web目錄default.timezone.id=Asia/Shanghai #默認時區(qū),已改為亞洲/上海 默認為美國*Azkaban UserManager classuser.manager.class=azkaban.user.XmlUserManager #用戶權(quán)限管理默認類user.manager.xml.file=conf/azkaban-users.xml #用戶配置,具體配置參加下文*Loader for projectsexecutor.global.properties=conf/global.properties # global配置文件所在位置azkaban.project.dir=projects #database.type=mysql #數(shù)據(jù)庫類型mysql.port=3306 #端口號mysql.host=localhost #數(shù)據(jù)庫連接IPmysql.database=azkaban #數(shù)據(jù)庫實例名mysql.user=root #數(shù)據(jù)庫用戶名mysql.password=Root123456 #數(shù)據(jù)庫密碼mysql.numconnections=100 #最大連接數(shù)* Velocity dev modevelocity.dev.mode=false* Jetty服務(wù)器屬性.jetty.maxThreads=25 #最大線程數(shù)jetty.ssl.port=8443 #Jetty SSL端口jetty.port=8081 #Jetty端口jetty.keystore=keystore #SSL文件名jetty.password=123456 #SSL文件密碼jetty.keypassword=123456 #Jetty主密碼 與 keystore文件相同jetty.truststore=keystore #SSL文件名jetty.trustpassword=123456 # SSL文件密碼* 執(zhí)行服務(wù)器屬性executor.port=12321 #執(zhí)行服務(wù)器端*郵件設(shè)置mail.sender=xxxxxxxx@163.com #發(fā)送郵箱mail.host=smtp.163.com #發(fā)送郵箱smtp地址mail.user=xxxxxxxx #發(fā)送郵件時顯示的名稱mail.password=********** #郵箱密碼job.failure.email=xxxxxxxx@163.com #任務(wù)失敗時發(fā)送郵件的地址job.success.email=xxxxxxxx@163.com #任務(wù)成功時發(fā)送郵件的地址lockdown.create.projects=false #cache.directory=cache #緩存目錄 3.7.7azkaban 執(zhí)行服務(wù)器executor配置 進入執(zhí)行服務(wù)器安裝目錄conf,修改azkaban.properties vi azkaban.properties*Azkabandefault.timezone.id=Asia/Shanghai #時區(qū)* Azkaban JobTypes 插件配置azkaban.jobtype.plugin.dir=plugins/jobtypes #jobtype 插件所在位置*Loader for projectsexecutor.global.properties=conf/global.propertiesazkaban.project.dir=projects*數(shù)據(jù)庫設(shè)置database.type=mysql #數(shù)據(jù)庫類型(目前只支持mysql)mysql.port=3306 #數(shù)據(jù)庫端口號mysql.host=192.168.20.200 #數(shù)據(jù)庫IP地址mysql.database=azkaban #數(shù)據(jù)庫實例名mysql.user=root #數(shù)據(jù)庫用戶名mysql.password=Root23456 #數(shù)據(jù)庫密碼mysql.numconnections=100 #最大連接數(shù)*執(zhí)行服務(wù)器配置executor.maxThreads=50 #最大線程數(shù)executor.port=12321 #端口號(如修改,請與web服務(wù)中一致)executor.flow.threads=30 #線程數(shù) 3.7.8用戶配置 進入azkaban web服務(wù)器conf目錄,修改azkaban-users.xml vi azkaban-users.xml 增加 管理員用戶 3.7.9 web服務(wù)器啟動 在azkaban web服務(wù)器目錄下執(zhí)行啟動命令 bin/azkaban-web-start.sh 注:在web服務(wù)器根目錄運行 或者啟動到后臺 nohup bin/azkaban-web-start.sh 1>/tmp/azstd.out 2>/tmp/azerr.out & 3.7.10執(zhí)行服務(wù)器啟動 在執(zhí)行服務(wù)器目錄下執(zhí)行啟動命令 bin/azkaban-executor-start.sh 注:只能要執(zhí)行服務(wù)器根目錄運行 啟動完成后,在瀏覽器(建議使用谷歌瀏覽器)中輸入https://服務(wù)器IP地址:8443 ,即可訪問azkaban服務(wù)了.在登錄中輸入剛才新的戶用名及密碼,點擊 login3.8 Zeppelin參照如下文件:http://blog.csdn.net/chengxuyuanyonghu/article/details/54915817http://blog.csdn.net/chengxuyuanyonghu/article/details/549159623.9 HBase 3.9.1解壓 tar –zxvf /usr/local/ys/soft/hbase-0.99.2-bin.tar.gz -C /usr/local/ys/app 3.9.2重命名 cd /usr/local/ys/app mv hbase-0.99.2 hbase 3.9.3修改配置文件 每個文件的解釋如下: hbase-env.sh export JAVA_HOME=/usr/local/ys/app/jdk1.7.0_80 //jdk安裝目錄 export HBASE_CLASSPATH=/usr/local/ys/app/hadoop-2.6.4/etc/hadoop //hadoop配置文件的位置 export HBASE_MANAGES_ZK=false #如果使用獨立安裝的zookeeper這個地方就是false(此處使用自己的zookeeper)hbase-site.xml Regionservers //是從機器的域名Ys02ys03ys04注:此處HBase配置是針對HA模式的hdfs 3.9.4將Hadoop的配置文件hdfs-site.xml和core-site.xml拷貝到HBase配置文件中 cp /usr/local/ys/app/Hadoop-2.6.4/etc/hadoop/hdfs-site.xml /usr/local/ys/app/hbase/conf cp /usr/local/ys/app/hadoop-2.6.4/etc/hadoop/core-site.xml /usr/local/ys/app/hbase/conf 3.9.5發(fā)放到其他機器 scp –r /usr/local/ys/app/hbase ys02: /usr/local/ys/app scp –r /usr/local/ys/app/hbase ys03: /usr/local/ys/app scp –r /usr/local/ys/app/hbase ys04: /usr/local/ys/app 3.9.6啟動 cd /usr/local/ys/app/hbase/bin ./ start-hbase.sh 3.9.7查看 進程:jps 進入hbase的shell:hbase shell 退出hbase的shell:quit 頁面:http://master:60010/ 3.10KAfkaOffsetMonitor(Kafka集群的監(jiān)控程序,本質(zhì)就是一個jar包) 3.10.1上傳jar包 略3.10.2 運行jar包nohup java -cp KafkaOffsetMonitor-assembly-0.2.1.jar com.quantifind.kafka.offsetapp.OffsetGetterWeb --zk ys01,ys02,ys04 --refresh 5.minutes --retain 1.day --port 8089 $ 4. 集群調(diào)優(yōu) 4.1 輔助工具盡量不安裝到數(shù)據(jù)或者運算節(jié)點,避免占用過多計算或內(nèi)存資源。4.2 dataNode和spark的slave節(jié)點盡量在一起;這樣運算的時候就可以避免通過網(wǎng)絡(luò)拉取數(shù)據(jù),加快運算速度。4.3 Hadoop集群機架感知配置,配置之后可以使得數(shù)據(jù)在同機架的不同機器2份,然后其他機架機器1份,可是兩臺機器四臺虛機沒有必要配感知個人感覺。4.4 配置參數(shù)調(diào)優(yōu)可以參考http://blog.csdn.net/chndata/article/details/46003399 第三階段(輔助工具工學(xué)習(xí)階段) 11)Sqoop(CSDN,51CTO ,以及官網(wǎng))—-20小時
推薦學(xué)習(xí)博客:http://student-lp./blog/2157983 12)Flume(CSDN,51CTO ,以及官網(wǎng))—-20小時
推薦學(xué)習(xí)博客:http://www./thread-8917-1-1.html 13)Oozie(CSDN,51CTO ,以及官網(wǎng))—20小時
推薦學(xué)習(xí)博客:http://www./cn/articles/introductionOozie 14)Hue(CSDN,51CTO ,以及官網(wǎng))—20小時 推薦學(xué)習(xí)博客:http://ju./entry/105162 第四階段(不斷學(xué)習(xí)階段) 每天都會有新的東西出現(xiàn),需要關(guān)注最新技術(shù)動態(tài),不斷學(xué)習(xí)。任何一般技術(shù)都是先學(xué)習(xí)理論,然后在實踐中不斷完善理論的過程。 備注 1)如果你覺得自己看書效率太慢,你可以網(wǎng)上搜集一些課程,跟著課程走也OK 。如果看書效率不高就很網(wǎng)課,相反的話就自己看書。 2)企業(yè)目前更傾向于使用 Spark 進行微批處理,Storm 只有在對時效性要求極高的情況下,才會使用,所以可以做了解。重點學(xué)習(xí) Spark Streaming。 3)快速學(xué)習(xí)的能力、解決問題的能力、溝通能力**真的很重要。 4)要善于使用 StackOverFlow 和 Google(遇到解決不了的問題,先Google,如果 Google 找不到解決方能就去 StackOverFlow 提問,一般印度三哥都會在2小時內(nèi)回答你的問題)。 5)視頻課程推薦: 可以去萬能的淘寶購買一些視頻課程,你輸入「大數(shù)據(jù)視頻課程」,會出現(xiàn)很多,多購買幾份(100塊以內(nèi)可以搞定),然后選擇一個適合自己的。 四、持續(xù)學(xué)習(xí)資源推薦
五、項目案例分析1)點擊流日志項目分析(此處借鑒 CSDN 博主的文章,由于沒有授權(quán),所以就沒有貼過來,下面附上鏈接)——批處理 http://blog.csdn.net/u014033218/article/details/76847263 2)Spark Streaming 在京東的項目實戰(zhàn)(京東的實戰(zhàn)案例值得好好研究一下,由于沒有授權(quán),所以就沒有貼過來,下面附上鏈接)—- 實時處理 最后但卻很重要一點:每天都會有新的技術(shù)出現(xiàn),要多關(guān)注技術(shù)動向,持續(xù)學(xué)習(xí)。 |
|