寫給大數據開發初學者的話2

見 :?http://lxw1234.com/archives/2016/11/782.htm



如果你已經按照《寫給大數據開發初學者的話》中第一章和第二章的流程認真完整的走了一遍,那么你應該已經具備以下技能和知識點:

  1. 0和Hadoop2.0的區別;
  2. MapReduce的原理(還是那個經典的題目,一個10G大小的文件,給定1G大小的內存,如何使用Java程序統計出現次數最多的10個單詞及次數);
  3. HDFS讀寫數據的流程;向HDFS中PUT數據;從HDFS中下載數據;
  4. 自己會寫簡單的MapReduce程序,運行出現問題,知道在哪里查看日志;
  5. 會寫簡單的SELECT、WHERE、GROUP BY等SQL語句;
  6. Hive SQL轉換成MapReduce的大致流程;
  7. Hive中常見的語句:創建表、刪除表、往表中加載數據、分區、將表中數據下載到本地;

從上面的學習,你已經了解到,HDFS是Hadoop提供的分布式存儲框架,它可以用來存儲海量數據,MapReduce是Hadoop提供的分布式計算框架,它可以用來統計和分析HDFS上的海量數據,而Hive則是SQL On Hadoop,Hive提供了SQL接口,開發人員只需要編寫簡單易上手的SQL語句,Hive負責把SQL翻譯成MapReduce,提交運行。

此時,你的”大數據平臺”是這樣的:

lxw1234

那么問題來了,海量數據如何到HDFS上呢?

第三章:把別處的數據搞到Hadoop上

此處也可以叫做數據采集,把各個數據源的數據采集到Hadoop上。

3.1 HDFS PUT命令

這個在前面你應該已經使用過了。

put命令在實際環境中也比較常用,通常配合shell、python等腳本語言來使用。

建議熟練掌握。

3.2 HDFS API

HDFS提供了寫數據的API,自己用編程語言將數據寫入HDFS,put命令本身也是使用API。
實際環境中一般自己較少編寫程序使用API來寫數據到HDFS,通常都是使用其他框架封裝好的方法。比如:Hive中的INSERT語句,Spark中的saveAsTextfile等。
建議了解原理,會寫Demo。

3.3 Sqoop

Sqoop是一個主要用于Hadoop/Hive與傳統關系型數據庫Oracle/MySQL/SQLServer等之間進行數據交換的開源框架。
就像Hive把SQL翻譯成MapReduce一樣,Sqoop把你指定的參數翻譯成MapReduce,提交到Hadoop運行,完成Hadoop與其他數據庫之間的數據交換。

自己下載和配置Sqoop(建議先使用Sqoop1,Sqoop2比較復雜)。
了解Sqoop常用的配置參數和方法。
使用Sqoop完成從MySQL同步數據到HDFS;
使用Sqoop完成從MySQL同步數據到Hive表;

PS:如果后續選型確定使用Sqoop作為數據交換工具,那么建議熟練掌握,否則,了解和會用Demo即可。

3.4 Flume

Flume是一個分布式的海量日志采集和傳輸框架,因為“采集和傳輸框架”,所以它并不適合關系型數據庫的數據采集和傳輸。
Flume可以實時的從網絡協議、消息系統、文件系統采集日志,并傳輸到HDFS上。
因此,如果你的業務有這些數據源的數據,并且需要實時的采集,那么就應該考慮使用Flume。

下載和配置Flume。
使用Flume監控一個不斷追加數據的文件,并將數據傳輸到HDFS;

PS:Flume的配置和使用較為復雜,如果你沒有足夠的興趣和耐心,可以先跳過Flume。

3.5 阿里開源的DataX

之所以介紹這個,是因為我們公司目前使用的Hadoop與關系型數據庫數據交換的工具,就是之前基于DataX開發的,非常好用。
可以參考我的博文《異構數據源海量數據交換工具-Taobao DataX 下載和使用》。
現在DataX已經是3.0版本,支持很多數據源。
你也可以在其之上做二次開發。

PS:有興趣的可以研究和使用一下,對比一下它與Sqoop。

如果你認真完成了上面的學習和實踐,此時,你的”大數據平臺”應該是這樣的:

lxw1234


11?

如果覺得本博客對您有幫助,請?贊助作者?。


?

第四章:把Hadoop上的數據搞到別處去

前面介紹了如何把數據源的數據采集到Hadoop上,數據到Hadoop上之后,便可以使用Hive和MapReduce進行分析了。那么接下來的問題是,分析完的結果如何從Hadoop上同步到其他系統和應用中去呢?

其實,此處的方法和第三章基本一致的。

4.1 HDFS GET命令

把HDFS上的文件GET到本地。需要熟練掌握。

4.2 HDFS API

同3.2.

4.3 Sqoop

同3.3.
使用Sqoop完成將HDFS上的文件同步到MySQL;
使用Sqoop完成將Hive表中的數據同步到MySQL;

4.4 DataX

同3.5.

?

如果你認真完成了上面的學習和實踐,此時,你的”大數據平臺”應該是這樣的:

lxw1234

以下章節正在整理中,請持續關注?lxw的大數據田地

?

第五章:快一點吧,我的SQL

第六章:一夫多妻制

第七章:越來越多的分析任務

第八章:我的數據要實時

第九章:我的數據要對外

第十章:牛逼高大上的機器學習




?寫給大數據開發初學者的話1


寫給大數據開發初學者的話2


第三章:把別處的數據搞到Hadoop上

第四章:把Hadoop上的數據搞到別處去

寫給大數據開發初學者的話3

第五章:快一點吧,我的SQL

第六章:一夫多妻制

寫給大數據開發初學者的話4

第七章:越來越多的分析任務

第八章:我的數據要實時

寫給大數據開發初學者的話5

第九章:我的數據要對外

第十章:牛逼高大上的機器學習



??

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451314.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451314.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451314.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Pandas的結構和應用

Pandas處理以下三個數據結構 - 系列(Series)----一維ndarray   特點:帶有標簽,可以使用標簽作為索引,大小不能改變,內部數據可以改變。 屬性:與NumPy類似,多了一個軸標簽axis lables 數據…

JZOJ5857 【NOIP提高組模擬A組2018.9.8】沒有上司的舞會

題目 Description “那么真的有果爾德施坦因這樣一個人?”他問道。 “是啊,有這樣一個人,他還活著。至于在哪里,我就不知道了。” “那么那個密謀——那個組織?這是真的嗎?不是秘密警察的捏造吧?” “不是,這是真的。我們管…

python 中如何判斷list中是否包含某個元素

在python中可以通過in和not in關鍵字來判讀一個list中是否包含一個元素 theList [‘a’,’b’,’c’] if ‘a’ in theList: print ‘a in the list’ if ‘d’ not in theList: print ‘d is not in the list’

時間即財富:創業者浪費精力的八個錯誤

導讀:本文作者Jeff Miller是美食網頁應用Punchfork的創始人,同時也是DuckDuckGo、Ginzametrics、Art.sy、DataMinr以及Forkly的投資人。作者通過對自己創業初期一些錯誤選擇進行盤點,告訴讀者在創業初期應該學會選擇,因為在創業初…

寫給大數據開發初學者的話3

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 如果你已經按照《寫給大數據開發初學者的話2》中第三章和第四章的流程認真完整的走了一遍,那么你應該已經具備以下技能和知識…

十五周二次課

18.6 負載均衡集群介紹 主流開源軟件LVS、keepalived、haproxy、nginx等其中LVS屬于4層(網絡OSI 7層模型),nginx屬于7層,haproxy既可以認為是4層,也可以當做7層使用keepalived的負載均衡功能其實就是lvslvs這種4層的負…

LeetCode--171--Excel表列序號

問題描述: 給定一個Excel表格中的列名稱,返回其相應的列序號。 例如, A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例 1: 輸入: "A" 輸出: 1示例 2: 輸入: "AB" 輸出: 28示例 3: 輸入: "…

中國歷代王朝大排名

中國自秦以降,一共出過九個大王朝,它們是:秦、漢、晉、隋、唐、宋、元、明、清。另外,還出過五十幾個小王朝,它們是: 三國時的魏、蜀、吳,共三個; [ 轉自鐵血社區 http://bbs.tiexue…

寫給大數據開發初學者的話4

見:http://lxw1234.com/archives/2016/11/795.htm 如果你已經按照《寫給大數據開發初學者的話3》中第五章和第六章的流程認真完整的走了一遍,那么你應該已經具備以下技能和知識點: 為什么Spark比MapReduce快。使用SparkSQL代替Hive&#xff…

TPS及計算方法

TPS (transaction per second)代表每秒執行的事務數量,可基于測試周期內完成的事務數量計算得出。例如,用戶每分鐘執行6個事務,TPS為6 / 60s 0.10 TPS。同時我們會知道事務的響應時間(或節拍),以此例,60秒完成6個事務…

域名解析服務之DNS查詢類型

在實際應用中DNS查詢主要分為兩種方式查詢:1.遞歸查詢;2.迭代查詢 一般情況下:為了減少資源的消耗,網絡中客戶端與所屬的本地DNS服務器查詢方式通常為遞歸查詢,本地DNS服務器與外部的公共DNS服務器間的查詢方式為迭代查…

MFC Ribbon界面設計

Ribbon是類似于office2007樣式的界面,它替代了傳統的MFC程序里的菜單和工具欄 MFC默認生成的Ribbon功能少,需要我們自己添加一些控件和圖片等元素使界面好看 看下面的一個界面,是VC2010示例里的 看到它與默認Ribbon樣式的區別: 工…

互聯網手機躁動:“周大炮”追逐“雷布斯”

摘要:周鴻祎選擇非自有品牌補貼,可能是看到了小米初期的艱難,也想追求速度,繞開自制手機終端環節。于小米而言,需要解決后續機型承接、持續穩定提升產能;對360而言,需要投入巨量補貼資金&#x…

獲取泛型T的ClassT clazz

在我們搭建框架中往往會用到泛型,我們知道泛型的好處是在編譯的時候檢查類型安全&#xff0c;并且所有的強制轉換都是自動和隱式的&#xff0c;代碼的重用率高 然而有時候<method>的入參并不能直接強制轉換成泛型的類型,比如說下面這段代碼&#xff1a; 很明顯String 類…

寫給大數據開發初學者的話5

見&#xff1a;http://lxw1234.com/archives/2017/01/832.htm 至此&#xff0c;你的大數據平臺底層架構已經成型了&#xff0c;其中包括了數據采集、數據存儲與計算&#xff08;離線和實時&#xff09;、數據同步、任務調度與監控這幾大模塊。接下來是時候考慮如何更好的對外提…

3.spring boot Controller獲取請求參數的值

2019獨角獸企業重金招聘Python工程師標準>>> 1.獲取連接中的參數,使用倒的關鍵詞PathVariable RestController public class HelloController {RequestMapping(value "/hello/{id}",method RequestMethod.GET)public String index(PathVariable("i…

斷開的管道 java.io.IOException: Broken pipe 解決方法

斷開的管道 java.io.IOException: Broken pipe 解決方法一、Broken pipe產生原因分析1.當訪問某個服務突然服務器掛了&#xff0c;就會產生Broken pipe;2.客戶端讀取超時關閉了連接&#xff0c;這時服務器往客戶端再寫數據就發生了broken pipe異常&#xff01;二、方案1.問題一…

登錄與注冊

代碼如下 private void btn_login_Click(object sender, EventArgs e){SqlConnection sqlconnection new SqlConnection();sqlconnection.ConnectionString ConfigurationManager.ConnectionStrings["SQL"].ConnectionString;SqlCommand sqlcommand new SqlComman…

四大電商對壘價格戰:家電高庫存或是推手

摘要&#xff1a;[京東、蘇寧、國美、天貓等電商在家電領域的價格戰&#xff0c;更多是定價方家電廠商的倒逼]  “五一”期間&#xff0c;電商企業發起的價格戰硝煙仍未消散&#xff0c;如今戰火又起。一種較為普遍的看法是&#xff0c;此次價格戰&#xff0c;正是各家電商企…

三分鐘明白 Activiti工作流 -- java運用

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 一、 什么是工作流 以請假為例&#xff0c;現在大多數公司的請假流程是這樣的 員工打電話&#xff08;或網聊&#xff09;向上級提出請…