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

干貨:最受歡迎編程語言c與大數(shù)據(jù)開發(fā)實(shí)踐

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

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

大數(shù)據(jù)何時(shí)使用MapReduce

大概有如下場景會(huì)應(yīng)用到MapReduce:

Apache Hadoop

開發(fā)MapReduce解決方案,推薦使用Hadoop,它已經(jīng)是事實(shí)上的標(biāo)準(zhǔn),同時(shí)也是開源免費(fèi)的軟件。

還有其他多個(gè)優(yōu)點(diǎn):

  • 成本效益:不需要任何專門和奇特的硬件,因?yàn)檐浖谡5挠布歼\(yùn)行正常
  • 容錯(cuò):如果有節(jié)點(diǎn)出現(xiàn)問題,其它節(jié)點(diǎn)可以接收它的工作,整個(gè)集群繼續(xù)處理。

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

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

映射器的任務(wù)是將輸入轉(zhuǎn)換成一系列的鍵值對。比如在字計(jì)數(shù)器的情況下,輸入是一系列的行。我們按單詞將它們分開,把它們變成鍵值對(如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的整個(gè)過程看起來有點(diǎn)像這樣,請看下列之圖表:

使用PHP做單詞計(jì)數(shù)器

執(zhí)行以下命令下載這本書:

  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 

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

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

下一個(gè)例子是一個(gè)更實(shí)際的例子,雖然數(shù)據(jù)集相對較小,但是相同的邏輯可以很容易地應(yīng)用于具有數(shù)百個(gè)數(shù)據(jù)點(diǎn)的集合上。 我們將嘗試計(jì)算過去五十年的黃金年平均價(jià)格。

在HDFS(Hadoop分布式文件系統(tǒng))中創(chuàng)建一個(gè)工作目錄

  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. ?> 

像單詞統(tǒng)計(jì)樣例一樣,我們也可以在本地測試

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

查看平均值

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

我們經(jīng)常會(huì)將結(jié)果轉(zhuǎn)換成圖表。 對于這個(gè)演示,我將使用gnuplot,你可以使用其它任何有趣的東西。

創(chuàng)建一個(gè)gnu plot配置文件(gold.plot)并復(fù)制以下內(nèi)容

 

  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" 

這會(huì)生成一個(gè)名為chart.jpg的文件。看起來像這樣:

 

\
責(zé)任編輯:未麗燕 來源: 網(wǎng)絡(luò)大數(shù)據(jù)
相關(guān)推薦

2015-04-14 14:23:38

蘋果Swift編程語言

2022-03-25 09:57:18

C++Rust語言

2015-06-17 14:06:50

編程語言計(jì)算機(jī)編程語言

2013-11-29 10:04:00

JavaScript遠(yuǎn)程辦公

2021-04-13 10:14:12

編程語言PythonJava

2010-02-06 15:43:46

ibmdwWeb開發(fā)

2021-10-12 11:20:06

編程語言PythonJava

2017-06-26 15:47:27

2018-03-02 11:59:06

湯圓大數(shù)據(jù)京東

2017-12-29 16:51:44

2016-07-27 10:28:43

編程Python框架

2018-02-01 13:42:47

編程語言開發(fā)者行業(yè)

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

2017-11-09 13:22:42

機(jī)器學(xué)習(xí)數(shù)據(jù)科學(xué)Python

2023-06-06 10:07:21

CIO數(shù)據(jù)技能

2010-02-24 15:27:17

ibmdw

2024-07-30 11:55:15

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 欧美福利 | 中文字幕在线播放第一页 | 国产一区二区在线视频 | 亚洲精品一二三区 | 国产精品国产精品国产专区不片 | 美日韩免费视频 | 成人不卡在线 | 欧美日韩亚洲系列 | 久久精品国产一区二区电影 | 午夜成人免费视频 | 亚洲视频免费在线观看 | 久久精品亚洲精品国产欧美 | www.色午夜.com| 激情欧美一区二区三区中文字幕 | a免费视频 | 久久欧美高清二区三区 | www.成人免费视频 | 日韩av在线一区二区 | 亚洲黄色av | 国产精品一区二区三区四区五区 | 亚州影院 | 午夜理伦三级理论三级在线观看 | 国产视频中文字幕在线观看 | 国产综合久久 | 欧美xxxx日本 | 毛片一级网站 | 免费观看一级毛片 | 男女视频在线观看网站 | 亚洲视频在线一区 | 岛国精品| 91最新入口 | 欧美一级淫片007 | 久久国产精品99久久久久 | 日韩午夜精品 | 久草免费视 | 日韩中文字幕在线不卡 | 免费在线观看黄网站 | 亚洲欧洲精品成人久久奇米网 | 亚洲一区精品在线 | 国产精品日韩一区二区 | 久久精品网 |