각 트랜잭션이 단일 항목의 구매를 나타내는 트랜잭션의 데이터 집합이 있습니다. 따라서 주문에 3 개 항목이 포함 된 경우 각 주문은 3 개의 거래로 기록됩니다.String, Spark 2.0의 데이터 집합 쌍
예 데이터 세트 :
User Order, ItemCount, OrderAmount
1 1 2 20
1 2 2 60
2 3 2 40
3 4 3 45
지금 나는 그룹에 원하는 :
User Order, ItemCount, ItemPrice
1 1 1 10
1 1 1 10
1 2 1 30
1 2 1 30
2 3 1 20
2 3 1 20
3 4 1 15
3 4 1 15
3 4 1 15
나는 순서와 사용자에 의해 그룹화이 같은 데이터 세트를 얻을 수 ITEMCOUNT 및 ItemPrice을 집계 한 데이터 집합을 줄이기 위해 사용자별로 주문을하고 각 사용자의 주문에 대한 분석을 수행합니다. Spark에서 사용자별로 주문을 그룹화하고 사용자가 사용자 ID이고 데이터 집합에 주문이 포함 된 한 쌍으로 끝나는 방법이 있습니까?
내가보기에 유일한 해결책은 데이터 세트를 rdd로 변환하고 rddpair를 얻기 위해 groupbykey를 수행 한 다음 행 목록에 대한 분석을 수행하는 코드를 작성하는 것입니다.
데이터 집합으로 주문을 처리하고 데이터 집합 기능을 사용하여 분석 할 수있는 솔루션을 선호합니다. 누구든지 나를 올바른 방향으로 인도 할 수 있습니까? 이것이 가능한가?
저는 Spala에 대한 경험이 매우 부족한 경우 스파크를 처음 사용하고 Java로 Spark를 사용했지만 스칼라의 예는 도움이됩니다.
예상되는 결과는 무엇입니까? – mtoto
예상되는 출력은 각 사용자의 주문 요약 인 단일 행 (또는 데이터가 포함 된 개체)입니다. 각> 쌍은 UserOrderSummary 객체에 매핑되어야합니다. –
krunarsson
설명해주십시오. – mtoto