關於大數據相關的問答匯總,每天持續更新中~

NO.1 想要學好大數據需掌握哪些技術?


答:1,Java編程技術

Java編程技術是大數據學習的基礎,Java是一種強類型語言,擁有極高的跨平臺能力,可以編寫桌面應用程序、Web應用程序、分佈式系統和嵌入式系統應用程序等,是大數據工程師最喜歡的編程工具,因此,想學好大數據,掌握Java基礎是必不可少的!

2.Linux命令

對於大數據開發通常是在Linux環境下進行的,相比Linux操作系統,Windows操作系統是封閉的操作系統,開源的大數據軟件很受限制,因此,想從事大數據開發相關工作,還需掌握Linux基礎操作命令。

3. Hadoop

Hadoop是大數據開發的重要框架,其核心是HDFS和MapReduce,HDFS為海量的數據提供了存儲,MapReduce為海量的數據提供了計算,因此,需要重點掌握,除此之外,還需要掌握Hadoop集群、Hadoop集群管理、YARN以及Hadoop高級管理等相關技術與操作!

4. Hive

Hive是基於Hadoop的一個數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,並提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行運行,十分適合數據倉庫的統計分析。對於Hive需掌握其安裝、應用及高級操作等。

5. Avro與Protobuf

Avro與Protobuf均是數據序列化系統,可以提供豐富的數據結構類型,十分適合做數據存儲,還可進行不同語言之間相互通信的數據交換格式,學習大數據,需掌握其具體用法。

6.ZooKeeper

ZooKeeper是Hadoop和Hbase的重要組件,是一個為分佈式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分佈式同步、組件服務等,在大數據開發中要掌握ZooKeeper的常用命令及功能的實現方法。

7. HBase

HBase是一個分佈式的、面向列的開源數據庫,它不同於一般的關係數據庫,更適合於非結構化數據存儲的數據庫,是一個高可靠性、高性能、面向列、可伸縮的分佈式存儲系統,大數據開發需掌握HBase基礎知識、應用、架構以及高級用法等。

8.phoenix

phoenix是用Java編寫的基於JDBC API操作HBase的開源SQL引擎,其具有動態列、散列加載、查詢服務器、追蹤、事務、用戶自定義函數、二級索引、命名空間映射、數據收集、行時間戳列、分頁查詢、跳躍查詢、視圖以及多租戶的特性,大數據開發需掌握其原理和使用方法。

9. Redis

Redis是一個key-value存儲系統,其出現很大程度補償了memcached這類key/value存儲的不足,在部分場合可以對關係數據庫起到很好的補充作用,它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客戶端,使用很方便,大數據開發需掌握Redis的安裝、配置及相關使用方法。

10. Flume

Flume是一款高可用、高可靠、分佈式的海量日誌採集、聚合和傳輸的系統,Flume支持在日誌系統中定製各類數據發送方,用於收集數據;同時,Flume提供對數據進行簡單處理,並寫到各種數據接受方(可定製)的能力。大數據開發需掌握其安裝、配置以及相關使用方法。

11. SSM

SSM框架是由Spring、SpringMVC、MyBatis三個開源框架整合而成,常作為數據源較簡單的web項目的框架。大數據開發需分別掌握Spring、SpringMVC、MyBatis三種框架的同時,再使用SSM進行整合操作。

12.Kafka

Kafka是一種高吞吐量的分佈式發佈訂閱消息系統,其在大數據開發應用上的目的是通過Hadoop的並行加載機制來統一線上和離線的消息處理,也是為了通過集群來提供實時的消息。大數據開發需掌握Kafka架構原理及各組件的作用和使用方法及相關功能的實現!

13.Scala

Scala是一門多範式的編程語言,大數據開發重要框架Spark是採用Scala語言設計的,想要學好Spark框架,擁有Scala基礎是必不可少的,因此,大數據開發需掌握Scala編程基礎知識!

14.Spark

Spark是專為大規模數據處理而設計的快速通用的計算引擎,其提供了一個全面、統一的框架用於管理各種不同性質的數據集和數據源的大數據處理的需求,大數據開發需掌握Spark基礎、SparkJob、Spark RDD、spark job部署與資源分配、Spark shuffle、Spark內存管理、Spark廣播變量、Spark SQL、Spark Streaming以及Spark ML等相關知識。

15.Azkaban

Azkaban是一個批量工作流任務調度器,可用於在一個工作流內以一個特定的順序運行一組工作和流程,可以利用Azkaban來完成大數據的任務調度,大數據開發需掌握Azkaban的相關配置及語法規則。

16.Python與數據分析

Python是面向對象的編程語言,擁有豐富的庫,使用簡單,應用廣泛,在大數據領域也有所應用,主要可用於數據採集、數據分析以及數據可視化等,因此,大數據開發需學習一定的Python知識。

只有完整的學完以上技術,才能算得上大數據開發人才,真正從事大數據開發相關工作,工作才更有底氣,升職加薪不成問題

NO.2新手入門大數據給注意些什麼?

答:現在大數據行業已經趨於穩定,越來越多的中小企業從最初的跟風到冷靜下來,如果確實想轉行,最基礎的,Linux的基礎操作,還有就是掌握一門語言,推薦Python,簡單易學,且很適合後期的數據挖掘和人工智能,hadoop生態圈的各個產品,離線分析和實時分析,當然,hive和spark了,不過前期你需要會scala,目前金融行業對數據的實時要求很高,哈哈,對於一個小白,這些已經夠你學習好長時間得了

NO.3 什麼是大數據,怎樣利用大數據賣貨?

答:在寫這篇大數據文章之前,我發現身邊很多IT人對於這些熱門的新技術、新趨勢往往趨之若鶩卻又很難說的透徹,如果你問他大數據是什麼?估計很少能說出一二三來。究其原因,一是因為大家對大數據這類新技術有著相同的原始渴求,至少知其然在聊天時不會顯得很“土鱉”;二是在工作和生活環境中真正能參與實踐大數據的案例實在太少了,所以大家沒有必要花時間去知其所以然。

如果你說大數據就是數據大,或者侃侃而談4個V,也許很有深度的談到BI或預測的價值,又或者拿Google和Amazon舉例,技術流可能會聊起hadoop和Cloud Computing,不管對錯,只是無法勾勒對大數據的整體認識,不說是片面,但至少有些管窺蠡測、隔衣瘙癢了。……也許,“解構”是最好的方法。

第一層面是理論,理論是認知的必經途徑,也是被廣泛認同和傳播的基線。我會從大數據的特徵定義理解行業對大數據的整體描繪和定性;從對大數據價值的探討來深入解析大數據的珍貴所在;從對大數據的現在和未來去洞悉大數據的發展趨勢;從大數據隱私這個特別而重要的視角審視人和數據之間的長久博弈。

第二層面是技術,技術是大數據價值體現的手段和前進的基石。我將分別從雲計算、分佈式處理技術、存儲技術和感知技術的發展來說明大數據從採集、處理、存儲到形成結果的整個過程。

第三層面是實踐,實踐是大數據的最終價值體現。我將分別從互聯網的大數據,政府的大數據,企業的大數據和個人的大數據四個方面來描繪大數據已經展現的美好景象及即將實現的藍圖。

和大數據相關的理論

古語云:三分技術,七分數據,得數據者得天下。先不論誰說的,但是這句話的正確性已經不用去論證了。維克托·邁爾-舍恩伯格在《大數據時代》一書中舉了百般例證,都是為了說明一個道理:在大數據時代已經到來的時候要用大數據思維去發掘大數據的潛在價值。書中,作者提及最多的是Google如何利用人們的搜索記錄挖掘數據二次利用價值,比如預測某地流感爆發的趨勢;Amazon如何利用用戶的購買和瀏覽歷史數據進行有針對性的書籍購買推薦,以此有效提升銷售量;Farecast如何利用過去十年所有的航線機票價格打折數據,來預測用戶購買機票的時機是否合適。

從大數據的價值鏈條來分析,存在三種模式:

1- 手握大數據,但是沒有利用好;比較典型的是金融機構,電信行業,政府機構等。

2- 沒有數據,但是知道如何幫助有數據的人利用它;比較典型的是IT諮詢和服務企業,比如,埃森哲,IBM,Oracle等。

3- 既有數據,又有大數據思維;比較典型的是Google,Amazon,Mastercard等。

現在和未來

我們先看看大數據在當下有怎樣的傑出表現:

大數據幫助政府實現市場經濟調控、公共衛生安全防範、災難預警、社會輿論監督;

大數據幫助城市預防犯罪,實現智慧交通,提升緊急應急能力;

大數據幫助醫療機構建立患者的疾病風險跟蹤機制,幫助醫藥企業提升藥品的臨床使用效果,幫助艾滋病研究機構為患者提供定製的藥物;

大數據幫助航空公司節省運營成本,幫助電信企業實現售後服務質量提升,幫助保險企業識別欺詐騙保行為,幫助快遞公司監測分析運輸車輛的故障險情以提前預警維修,幫助電力公司有效識別預警即將發生故障的設備;

大數據幫助電商公司向用戶推薦商品和服務,幫助旅遊網站為旅遊者提供心儀的旅遊路線,幫助二手市場的買賣雙方找到最合適的交易目標,幫助用戶找到最合適的商品購買時期、商家和最優惠價格;

大數據幫助企業提升營銷的針對性,降低物流和庫存的成本,減少投資的風險,以及幫助企業提升廣告投放精準度;

大數據幫助娛樂行業預測歌手,歌曲,電影,電視劇的受歡迎程度,併為投資者分析評估拍一部電影需要投入多少錢才最合適,否則就有可能收不回成本;

大數據幫助社交網站提供更準確的好友推薦,為用戶提供更精準的企業招聘信息,向用戶推薦可能喜歡的遊戲以及適合購買的商品。

其實,這些還遠遠不夠,未來大數據的身影應該無處不在,就算無法準確預測大數據終會將人類社會帶往到哪種最終形態,但我相信只要發展腳步在繼續,因大數據而產生的變革浪潮將很快淹沒地球的每一個角落。

比如,Amazon的最終期望是:“最成功的書籍推薦應該只有一本書,就是用戶要買的下一本書。”

Google也希望當用戶在搜索時,最好的體驗是搜索結果只包含用戶所需要的內容,而這並不需要用戶給予Google太多的提示。

而當物聯網發展到達一定規模時,藉助條形碼、二維碼、RFID等能夠唯一標識產品,傳感器、可穿戴設備、智能感知、視頻採集、增強現實等技術可實現實時的信息採集和分析,這些數據能夠支撐智慧城市,智慧交通,智慧能源,智慧醫療,智慧環保的理念需要,這些都所謂的智慧將是大數據的採集數據來源和服務範圍。

未來的大數據除了將更好的解決社會問題,商業營銷問題,科學技術問題,還有一個可預見的趨勢是以人為本的大數據方針。人才是地球的主宰,大部分的數據都與人類有關,要通過大數據解決人的問題。

比如,建立個人的數據中心,將每個人的日常生活習慣,身體體徵,社會網絡,知識能力,愛好性情,疾病嗜好,情緒波動……換言之就是記錄人從出生那一刻起的每一分每一秒,將除了思維外的一切都儲存下來,這些數據可以被充分的利用:

醫療機構將實時的監測用戶的身體健康狀況;

教育機構更有針對的制定用戶喜歡的教育培訓計劃;

服務行業為用戶提供即時健康的符合用戶生活習慣的食物和其它服務;

社交網絡能為你提供合適的交友對象,併為志同道合的人群組織各種聚會活動;

政府能在用戶的心理健康出現問題時有效的干預,防範自殺,刑事案件的發生;

金融機構能幫助用戶進行有效的理財管理,為用戶的資金提供更有效的使用建議和規劃;

道路交通、汽車租賃及運輸行業可以為用戶提供更合適的出行線路和路途服務安排;

……

當然,上面的一切看起來都很美好,但是否是以犧牲了用戶的自由為前提呢?只能說當新鮮事物帶來了革新的同時也同樣帶來了“病菌”。比如,在手機未普及前,大家喜歡聚在一起聊天,自從手機普及後特別是有了互聯網,大家不用聚在一起也可以隨時隨地的聊天,只是“病菌”滋生了另外一種情形,大家慢慢習慣了和手機共渡時光,人與人之間情感交流彷彿永遠隔著一張“網”。

隨著數據越來越多,在缺乏監管之後,必然會有一場激烈的博弈:是以商業為中心還是以個人為中心。

NO.4大數據有沒有數量級的標準?

答:現在大數據的概念非常火熱,總是有很多創業團隊、研究機構來炒大數據的概念。但深究之後發現,所謂大數據不過只是對小規模的業務數據做了一下數據挖掘而已,甚至於年數據量不過百萬條的也自稱是大數據平臺。

那麼,行業內是否應該有一個約定的標準,比如每日新生的有效數據量達到一個什麼量級才有資格稱為大數據?

大數據不僅僅是數量級的評定,還有多源性,可變特徵,複雜度等等緯度。

我理解這個問題應該是問多大的數據稱為大數據?回答這個問題還是先要理解大數據的概念,和具備大數據的思維。數據分為格式化數據和非格式化數據,比如每天監控器的圖像數據數量巨大但是沒有價值隔一天就掃除掉了,我們也不會理解這是大數據。所以,有價值的數據超出了原有的存儲能力,我們認為是大數據。

還有就是即時數據處理的速度或者存儲數據的處理調用速度滿足不了日常的使用需求,我們說是大數據。

第三個,就是數據緯度多,複雜度多,合適多樣,我們稱為大數據。

所以,不能單獨用數據量來衡量,比如一份較小的數據,但每天都需要被保存,而且橫向與其他數據需要關聯,那他就是大數據。而一份很大的數據,沒有什麼價值,也沒有關鍵性,也不叫大數據!

NO.5如何避開互聯網公司的大數據殺熟現象?

答:某航班的飛機若在同一用戶賬號上一定時間內被頻繁搜索,很有可能就會漲價,而當你換一部手機時查看時,價格又回落為正常狀態;

某線上產品對被判定為消費能力較高的客戶和經常購買的剛需客戶進行溢價,消費能力較低的客戶則可以用更低的價格購買到該產品;

在遊戲經常充值的“氪金”玩家並不會因為充值量大而更多受到遊戲開發者的眷顧,反而是“萌新”更容易在抽獎中抽到珍品,因為要鼓勵新人消費。

“大數據殺熟”是個羅生門,沒有哪家公司敢承認,但許多消費者都認為自己中過招。

其實題主這個問題可以算半個偽命題——因為,僅憑我們自己,壓根無法避開大數據殺熟,除非斷絕互聯網,而這對一個現代青年來說幾乎不可能。所以在此,我只能用一些微乎其微的小方法教大家減少一點點“大數據殺熟”對我們個體帶來經濟的損失——其實在這個過程中,你在時間與精力上的損失未必就沒有經濟損失珍貴。

關掉cookie

Cookie是指某些網站為了辨別用戶身份、進行時域跟蹤而儲存在用戶本地終端上的數據,聽起來很複雜,簡單來說,Cookie就是服務器暫存放在你電腦上的一筆資料,好讓服務器用來識別你的計算機。當你在瀏覽網站的時候,Cookie會幫你在網站上所打的文字或是一些選擇,都記錄下來。當下次你再光臨同一個網站,服務器會根據Cookie裡的內容來判斷使用者,推送出個性化的網頁內容給你。Cookie會讓你的工作與娛樂更簡單方便,例如記住曾填寫過的用戶名和密碼、瀏覽歷史便於下次打開,但你曾做過的偏好選擇也正是大數據“套路”你的來源。

所以如果你想讓瀏覽器拒絕網站存放Cookie到你的計算機,可按"工具→Internet選項",切換到"安全"標籤,選擇"自定義級別",找到Cookie部分,全都設為關閉,按下"確定"按鈕後,再關閉瀏覽器即可。不過當你關閉Cookie之後,很多網站的個性化服務功能也不能再使用了。

減少自己信息的暴露

你的每一次搜索(以及搜索的頻繁程度和時間),每一次收藏,每一次瀏覽,每一次購買都會記錄在個人賬號之中,尤其在現在網絡實名制幾乎已全面覆蓋各主流APP的情況下,幾乎意味著以上數據都記錄在你的手機號上,搜索公司可以將你的數據賣給其他公司,這也是你為何總會收到垃圾廣告短信的原因之一。減少自己信息的暴露,不使用購物類APP,而是使用網頁版進行瀏覽以及購買。例如蘋果自帶的Safari、Google的Chrome瀏覽器等,都有無痕模式,開啟後確實能讓你的信息暴露得更少一點。

謹慎勾選手機權限

無論是iOS還是安卓系統,幾乎每個APP在第一次打開使用時都要跳出彈框請求地理位置、麥克風和攝像頭、相冊、通知推送的權利,有的會請求開放通訊錄,有的軟件會在漫長的使用“生涯”中不斷跳出提醒。但我的建議與選擇是,只開必要的,例如地圖軟件請求地理位置合理,通訊錄就不合理,同理修圖軟件請求相冊合理,地理位置就不合理。在權限開放上採用“極簡”的處理風格。

購買時貨比三家,或者換臺設備

實在需要購買,又不得不搜索時,可以用本機看好產品,然後借用朋友的手機進行購買,這種方式在機票預訂和酒店預訂上效果還不錯。

話說回來,這些小技巧都是治標不治本,在現代互聯網資本的運作下,我們普通用戶殫精竭慮省下的那點小錢如滴進大海里的一滴水,對互聯網來說無足輕重,而對我們消費者來說,這滴水能否省下都還是個問號——下班的你站在街頭要打車,會因為不平等溢價而改乘公共交通工具嗎?你在購買剛需物件時會因為上漲的百十來塊錢而選擇不購買了嗎?

當我們孜孜不倦為了節省一點錢去換軟件、刪記錄時,時間與精力的流逝讓我們疲憊不堪。

NO.6 Hadoop一般用在哪些業務場景?

答:Hadoop可以做大數據量存儲,它是分佈式,可以存儲離線的數據,不需要實時性的數據,就像雲盤,網盤那樣,你用的時候,可以直接讀取就行。

你也可以將歷史數據存儲在Hadoop上,通過整體來分析數據,比抽樣的數據要全,更可靠。

還可以處理大型文件,比如PB級別的,因為它的HDFS是分佈式存儲數據的,它會將數據按塊來進行存儲,一般是128M,現在3.0是256M。

Hadoop可以做日誌處理: 通過MapReduce編程可以抽取想要的內容,也可以結合Flume來收集想要的數據,並通過Hive將數據保存到表,實際上數據底層還是存儲在Hadoop上,進行日誌分析。

Hadoop支持並行計算,因為它是分佈式的,數據是存儲在不同的機器上,如果你的需求滿足分佈式計算,那你就可以用MR來就行海量計算。我曾經用MR做過算法,那是2年前啦。

Hadoop還可以將數據從oracle、mysql、DB2、mongdb等的數據進行ETL處理後,存儲在HDFS上進行保存。它有三個副本,非常可靠。

Hadoop還可以通過使用HBase做數據分析,因為HBase是基於Hadoop的數據庫, 可以實現實時性,高效和隨機讀寫。

關注我每天持續更新,希望有地方能夠幫助到你


分享到:


相關文章: