Average Value Với Spark
Spark
5
bigdata
4
programming
82
Python
61
White

Phạm Quốc Thắng viết ngày 28/03/2016

Mở đầu

Như đã nói ở bài trước, mình đang nghiên cứu về Spark nên cần log lại một số thứ để dành sau này dùng đến :smile:
Đối tượng hướng đến vẫn là những người đã và đang nghiên cứu Spark, Map-Reduce BigData

Dữ liệu

Mình có một dữ liệu như sau

name,age,money(k$)
A,20,2
B,22,3
C,20,1
D,19,5
E,19,9

Và mình muốn đầu ra như sau:

age,avg(money)
19,7
20,1.5
22,3

Ý tưởng

Đầu tiên vẫn là map nó lại :smile: dưới dạng tuple (age, money), sau đó tính số người cùng độ tuổi và số tiền họ có được và trả về 1 list bao gồm các tuple dạng (age, sum(money), total)

Code

Đầu tiên map lại

group = rdd.map(lambda x: (x[1],(x[2],1)))

Sau đó Reduce theo ý muốn

group = group.reduceByKey(lambda x,y: (x[0]+y[0], x[1] + y[1]))

Map thêm lần nữa (để tính avg)

group = group.map(lambda (x,y): (x,round(float(y[0]) / y[1],2))).sortByKey()

Vào terminal gõ:

spark-submit avg.py

Kết quả

(19, 7.0)
(20, 1.5)
(22, 3.0)

Ai ngoại đạo đừng rủa mình hay kêu mình đang "lảm nhảm" nhé :smile:
Happy coding :smile:

Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Phạm Quốc Thắng

15 bài viết.
48 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
22 34
Chuẩn bị Một link bài hát / video từ mp3.zing.vn Nghịch ngợm Cũng vì dạo này mình hơi rảnh rỗi với có một chút phiền phức khi đang thưởng thức ...
Phạm Quốc Thắng viết hơn 4 năm trước
22 34
White
10 1
Bài viết này mình sẽ trình bày những thứ cơ bản về cú pháp với Swift. Bài viết sẽ gồm các phần Phần 1 Hằng và Biến Ghi chú Dấu chấm phẩy S...
Phạm Quốc Thắng viết hơn 4 năm trước
10 1
White
7 1
Disclaimer: Mình đã thông báo bug này cho support tenlua.vn 2 lần, và họ đã fix bằng cách upgrade 1 bản api ver 2, tuy nhiên api ver 1 vẫn hoạt độn...
Phạm Quốc Thắng viết hơn 4 năm trước
7 1
Bài viết liên quan
White
3 0
Data Lake không phải chỉ là tống raw data vào Hadoop Này thì data lake: (Link).pdf) Một trong những vấn đề lớn nhất với data lake đó là người ta ...
Minh-Trung Nguyễn viết 1 năm trước
3 0
White
57 23
Luận về comment code (Phong cách kiếm hiệp) Comment code luôn là vấn đề gây tranh cãi sứt đầu mẻ trán trong giới võ lâm. Xưa kia, thuở còn mài đít...
Huy Hoàng Phạm viết hơn 4 năm trước
57 23
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
15 bài viết.
48 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!