2016-12-14 3 views
0

나는 "청구서 수", "날짜", "클라이언트", "가져 오기"와 같은 요소와 함께 각각의 청구서가있는 클라이언트와 시간별로 그룹화 된 클라이언트를 가진 두 개의 데이터 세트를 가지고있다고객 당 총 청구서 계산 방법은 무엇입니까?

**** 예

:. 내 주제에 중요한 데이터를 선택하는 설정이 데이터를 분석 한

1st Dataset    
u'F1,01/01/2013,C1,11' 

2nd Dataset 
u'C1,20' 

**** 다음은 코드

def parseClients(clients): 
    fields=clients.split(",") 
    return (fields[0], fields[1]) 

def parseBill(bill): 
    fields=bill.split(",") 
    return (fields[2], bill) 

new_bills=bills.map(parseBill) 
new_clients=clients.map(parseClients) 

Age_Bills=new_bills.join(new_clients) 

샘플입니다 다음과 같이 :

Age_Bills.take(10): 
(u'C856', (u'F2982,06/01/2013,C856,88', u'81')) 
(u'C856', (u'F11953,22/01/2013,C856,87', u'81')) 
(u'C856', (u'F12893,24/01/2013,C856,10', u'81')) 
(u'C856', (u'F12913,24/01/2013,C856,41', u'81')) 
(u'C856', (u'F17883,02/02/2013,C856,45', u'81')) 
(u'C856', (u'F17895,02/02/2013,C856,75', u'81')) 
(u'C856', (u'F18867,04/02/2013,C856,105', u'81')) 
(u'C856', (u'F21864,09/02/2013,C856,26', u'81')) 
(u'C856', (u'F30889,26/02/2013,C856,154', u'81')) 
(u'C856', (u'F49990,02/04/2013,C856,90', u'81')) 

이제는 연령별로 의 청구서 수를 계산하고 싶지만 계속 진행하는 방법을 모르겠습니다. KeyReduce 또는 flatmap 사용에 대해 생각해 보았습니다. 네가 나를 도울 수 있다면 정말 고마워. 이 일을해야

답변

0

감사 :

Age_Bills.map(lambda x: (x[1][1], 1)).reduceByKey(lambda x, y: x + y)