Average Value Với Spark
Spark
4
bigdata
3
programming
62
Python
39
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.
44 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
22 33
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 2 năm trước
22 33
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 2 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 2 năm trước
7 1
Bài viết liên quan
White
3 0
Tuning memory Về cơ bản thì để tuning memory trong java hay scala nói chung thì bạn chỉ cần nhớ rõ một vài điều: Tận dụng primitive object bất c...
huydx viết hơn 2 năm trước
3 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

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


White
{{userFollowed ? 'Following' : 'Follow'}}
15 bài viết.
44 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á!