成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

干貨:最受歡迎編程語言c與大數據開發實踐

大數據
IEEE Spectrum的第三次“最受歡迎編程語言”中,C語言居首,有人說是大數據贏了。本文將探討c與大數據的開發實踐。大數據是使用工具和技術處理大量和復雜數據集合的術語。能夠處理大量數據的技術稱為MapReduce。

IEEE Spectrum的第三次“***編程語言”中,C語言居首,有人說是大數據贏了。本文將探討c與大數據的開發實踐。大數據是使用工具和技術處理大量和復雜數據集合的術語。能夠處理大量數據的技術稱為MapReduce。

大數據何時使用MapReduce

大概有如下場景會應用到MapReduce:

Apache Hadoop

開發MapReduce解決方案,推薦使用Hadoop,它已經是事實上的標準,同時也是開源免費的軟件。

還有其他多個優點:

  • 成本效益:不需要任何專門和奇特的硬件,因為軟件在正常的硬件都運行正常
  • 容錯:如果有節點出現問題,其它節點可以接收它的工作,整個集群繼續處理。

本文中我們將使用PHP做為主開發語言。

Apache Hadoop的安裝配置超出了本文范圍。您可以根據自己的平臺,在線輕松找到很多文章。為了保持簡單,我們只討論大數據相關的事。

映射器的任務是將輸入轉換成一系列的鍵值對。比如在字計數器的情況下,輸入是一系列的行。我們按單詞將它們分開,把它們變成鍵值對(如key:word,value:1),看起來像這樣:

 

  1. the 1  
  2. water 1  
  3. on 1  
  4. on 1  
  5. water 1  
  6. on 1  
  7. ... 1 

reducer

mapping和reducing的整個過程看起來有點像這樣,請看下列之圖表:

使用PHP做單詞計數器

執行以下命令下載這本書:

  1. wget http://www.gutenberg.org/cache ... 1.txt 

我們的PHP代碼從mapper開始

 

  1. #!/usr/bin/php 
  2. <?php 
  3.     // iterate through lines 
  4.     while($line = fgets(STDIN)){ 
  5.         // remove leading and trailing 
  6.         $line = ltrim($line); 
  7.         $line = rtrim($line); 
  8.  
  9.         // split the line in words 
  10.         $words = preg_split('/\s/', $line, -1, PREG_SPLIT_NO_EMPTY); 
  11.         // iterate through words 
  12.         foreach( $words as $key ) { 
  13.             // print word (keyto standard output 
  14.             // the output will be used in the 
  15.             // reduce (reducer.php) step 
  16.             // word (key) tab-delimited wordcount (1) 
  17.             printf("%s\t%d\n", $key, 1); 
  18.         } 
  19.     } 
  20. ?> 

你可以通過使用某些命令和管道的組合來在本地輕松測試腳本。

  1. head -n1000 pg2701.txt | ./mapper.php | sort | ./reducer.php 

輸出將存儲在文件夾hello / result中,可以通過執行以下命令查看

  1. hdfs dfs -cat hello/result/part-00000 

下一個例子是一個更實際的例子,雖然數據集相對較小,但是相同的邏輯可以很容易地應用于具有數百個數據點的集合上。 我們將嘗試計算過去五十年的黃金年平均價格。

在HDFS(Hadoop分布式文件系統)中創建一個工作目錄

  1. hadoop dfs -mkdir goldprice 

我的reducer看起來像這樣

 

  1. #!/usr/bin/php 
  2. <?php 
  3.     // iterate through lines 
  4.     while($line = fgets(STDIN)){ 
  5.         // remove leading and trailing 
  6.         $line = ltrim($line); 
  7.         $line = rtrim($line); 
  8.  
  9.         // regular expression to capture year and gold value 
  10.         preg_match("/^(.*?)\-(?:.*),(.*)$/", $line, $matches); 
  11.  
  12.         if ($matches) { 
  13.             // keyyear, value: gold price 
  14.             printf("%s\t%.3f\n", $matches[1], $matches[2]); 
  15.         } 
  16.     } 
  17. ?> 

像單詞統計樣例一樣,我們也可以在本地測試

  1. head -n1000 data.csv | ./mapper.php | sort | ./reducer.php 

查看平均值

  1. hdfs dfs -cat goldprice/result/part-00000 

我們經常會將結果轉換成圖表。 對于這個演示,我將使用gnuplot,你可以使用其它任何有趣的東西。

創建一個gnu plot配置文件(gold.plot)并復制以下內容

 

  1. # Gnuplot script file for generating gold prices 
  2. set terminal png 
  3. set output "chart.jpg" 
  4. set style data lines 
  5. set nokey 
  6. set grid 
  7. set title "Gold prices" 
  8. set xlabel "Year" 
  9. set ylabel "Price" 
  10. plot "gold.dat" 

這會生成一個名為chart.jpg的文件。看起來像這樣:

 

\
責任編輯:未麗燕 來源: 網絡大數據
相關推薦

2015-04-14 14:23:38

蘋果Swift編程語言

2015-06-17 14:06:50

編程語言計算機編程語言

2013-11-29 10:04:00

JavaScript遠程辦公

2022-03-25 09:57:18

C++Rust語言

2021-04-13 10:14:12

編程語言PythonJava

2010-02-06 15:43:46

ibmdwWeb開發

2021-10-12 11:20:06

編程語言PythonJava

2017-06-26 15:47:27

2017-12-29 16:51:44

2018-03-02 11:59:06

湯圓大數據京東

2018-02-01 13:42:47

編程語言開發者行業

2016-07-27 10:28:43

編程Python框架

2016-08-12 14:50:29

開源HadoopSpark

2018-09-06 12:30:40

編程語言PythonJava

2020-02-25 17:49:39

編程語言框架

2010-02-06 15:41:08

ibmdwJava

2023-06-06 10:07:21

CIO數據技能

2017-11-09 13:22:42

機器學習數據科學Python

2010-02-24 15:27:17

ibmdw

2024-07-30 11:55:15

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲精品一区二区在线观看 | 久久综合九色综合欧美狠狠 | 国产在线精品一区二区 | 天天干天天爽 | 欧美一级黄色免费 | 综合二区 | 九九久久精品视频 | 日韩一区二区免费视频 | 欧美性网 | 国产精品 亚洲一区 | 91久久夜色| 亚洲精品一区在线观看 | 一区二区免费 | 大陆一级毛片免费视频观看 | 精一区二区 | 亚洲精品4 | 91影院| 日韩h | 国产精品永久免费视频 | 亚洲导航深夜福利涩涩屋 | 嫩草国产 | 国产91网站在线观看 | 亚洲高清视频一区二区 | 天天操天天操 | 人人爽人人爽人人片av | 成人在线 | 欧美二区三区 | 久久在线| 国产精品久久久久久一区二区三区 | 色噜噜狠狠色综合中国 | 日韩黄| 在线观看视频亚洲 | 久久不卡视频 | 国产精品久久国产精品 | 精品一级 | 91精品国产高清一区二区三区 | 欧美精品在线免费观看 | 国产在线网站 | 欧美a区 | 国产中文字幕av | 欧美精品一区二区在线观看 |