欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用MapReduce編程模型統(tǒng)計銷量

 更新時間:2022年04月22日 09:04:28   作者:SAP劍客  
MapReduce是面向大數(shù)據(jù)并行處理的計算模型、框架和平臺,是一種計算引擎,可以把我們對大批量數(shù)據(jù)的計算通過抽象成map與reduce兩個子任務(wù)進行計算從而更快的得到想要的結(jié)果

MapReduce是一種編程模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運算。概念"Map(映射)"和"Reduce(歸約)",是它們的主要思想,都是從函數(shù)式編程語言里借來的,還有從矢量編程語言里借來的特性。它極大地方便了編程人員在不會分布式并行編程的情況下,將自己的程序運行在分布式系統(tǒng)上。 當前的軟件實現(xiàn)是指定一個Map(映射)函數(shù),用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce(歸約)函數(shù),用來保證所有映射的鍵值對中的每一個共享相同的鍵組。

下面就通過手動實現(xiàn)MapReduce編碼統(tǒng)計銷售數(shù)量的例子來模擬。

打開Python3在線編程網(wǎng)址:

http://www.dooccn.com/python3/

1、生成模擬數(shù)據(jù)

#!/usr/bin/python
# -*- coding: utf-8 -*-
import random
# 模擬商品
stocks = ["HUAWEI Mate40","Apple iphone13","Apple MacBook Pro 14","ThinkBook 14p","RedmiBook Pro14","飛鶴星飛帆幼兒奶粉","愛他美 幼兒奶粉","李寧運動男衛(wèi)褲","小米踏步機橢圓機","歐萊雅面膜","御泥坊面膜","歐萊雅男士套裝","金六福白酒","牛欄山42度","茅臺飛天"]
# 銷售訂單
sales_list = list()
# 生成100個買家訂單,每個訂單三個商品
for i in range(100):
    sstocks = list()
    for j in range(3):
        sstocks.append(stocks[random.randint(0,14)])
    a = "買家" + str(i+1) + ":" + ",".join(sstocks)
    print(a)

2、mapper實現(xiàn)

將第一步的結(jié)果作為第二步的輸入。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
#從控制臺中讀取數(shù)據(jù),循環(huán)發(fā)送每行數(shù)據(jù)
for line in sys.stdin:
    #對訂單進行拆分
    orders = line.strip().split(":")
    if len(orders) == 2:
        #對訂單中的商品進行拆分
        stocks = orders[1].split(",")
        for stock in stocks:
            #將每一個商品作為key,value進行輸出
            print('%s,%s' % (stock,1))

3、reducer實現(xiàn)

將第二步的結(jié)果作為第三步的輸入。

#!/usr/bin/python
# -*- coding: utf-8 -*-
import sys
# 創(chuàng)建一個空的字典用來每一個商品的銷售數(shù)據(jù)
stock_dict = dict()
for line in sys.stdin:
    if len(line.strip()) >= 1:
        # 拆分每一行的商品,銷量
        stock, sales = line.split(',')
        # 判斷當前商品是否在字典中有存放
        if stock in stock_dict:
            # 如果有,把字典中的商品和銷量取出來,追加當前銷量再放入
            stock_dict[stock] = stock_dict[stock] + int(sales)
        else:
            # 如果沒有,直接把商品和銷量數(shù)據(jù)放入字典中
            stock_dict[stock] = int(sales)
# 遍歷字典列表,獲取每一個商品的銷量
for stock, sales in stock_dict.items():
    print('%s\t%s' % (stock, sales))

 

這樣就實現(xiàn)了簡單的銷售統(tǒng)計。

到此這篇關(guān)于Python使用MapReduce編程模型統(tǒng)計銷量的文章就介紹到這了,更多相關(guān)Python MapReduce內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:

相關(guān)文章

  • Python中Pickle模塊和base64模塊的使用解析

    Python中Pickle模塊和base64模塊的使用解析

    這篇文章主要介紹了Python中Pickle模塊和base64模塊的使用解析,pickle模塊是python的標準模塊,提供了對于python數(shù)據(jù)的序列化操作,可以將數(shù)據(jù)轉(zhuǎn)換為bytes類型,其序列化速度比json模塊要高,需要的朋友可以參考下
    2023-09-09
  • 詳解PyTorch中Tensor的高階操作

    詳解PyTorch中Tensor的高階操作

    這篇文章主要介紹了詳解PyTorch中Tensor的高階操作,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python語言中有算法嗎

    python語言中有算法嗎

    在本篇文章里小編給大家整理的是一篇關(guān)于python里算法的相關(guān)知識點內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-06-06
  • python實現(xiàn)批量按比例縮放圖片效果

    python實現(xiàn)批量按比例縮放圖片效果

    這篇文章主要為大家詳細介紹了python實現(xiàn)批量按比例縮放圖片效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 一文帶你精通Python中exec函數(shù)的高級技巧

    一文帶你精通Python中exec函數(shù)的高級技巧

    在?Python?中,exec?是一個內(nèi)置函數(shù),允許在運行時動態(tài)執(zhí)行?Python?代碼,本文將詳細介紹?Python?exec?函數(shù)的高級用法,包括動態(tài)代碼生成、執(zhí)行外部文件等內(nèi)容,希望對大家有所幫助
    2023-11-11
  • 全面了解Python的getattr(),setattr(),delattr(),hasattr()

    全面了解Python的getattr(),setattr(),delattr(),hasattr()

    下面小編就為大家?guī)硪黄媪私釶ython的getattr(),setattr(),delattr(),hasattr()。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-06-06
  • 一文帶你探尋Python中的迭代器

    一文帶你探尋Python中的迭代器

    你知道for...in是底層原理是什么樣的么?這篇文章就來和大家詳細講一講Python中迭代器的的相關(guān)知識,文中的示例代碼講解詳細,感興趣的可以了解一下
    2023-04-04
  • Python輸出列表(List)不帶中括號和引號的問題及解決方法

    Python輸出列表(List)不帶中括號和引號的問題及解決方法

    這篇文章主要介紹了Python輸出列表(List)不帶中括號和引號的問題及解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02
  • 利用Python讀取txt文檔的方法講解

    利用Python讀取txt文檔的方法講解

    今天小編就為大家分享一篇利用Python讀取txt文檔的方法講解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • 詳解python之簡單主機批量管理工具

    詳解python之簡單主機批量管理工具

    這篇文章主要介紹了詳解python之簡單主機批量管理工具,具有一定的參考價值,有興趣的可以了解一下。
    2017-01-01

最新評論