2017-04-05 2 views
-3

저는 약 17 개의 열과 "Balance"로 표시된 열이 약 17 개의 spark (scala) 데이터 프레임을 가지고 있습니다. 이 열의 데이터 형식은 Int입니다. 중앙 균형을 찾아야합니다. 오름차순으로 배열 할 수는 있지만 어떻게 진행해야합니까? 스칼라의 백분위 함수를 사용할 수 있다는 힌트가 있습니다. 나는이 백분위 수 함수에 대해 전혀 모른다. 누구든지 도와 줄 수 있습니까?"Marketing"테이블에서 "Balance"열의 중앙값 계산

+0

안녕하세요. StackOverflow에 오신 것을 환영합니다. 도움말 페이지, 특히 [여기에 관해서 내가 무엇에 관해 물을 수있는 주제는 무엇입니까?] (http://stackoverflow.com/help/on-topic) 섹션과 [ "어떤 유형의 질문을해야합니까? 묻지 마시오? "] (http://stackoverflow.com/help/dont-ask). 더 중요한 것은 [Stack Overflow question checklist] (http://meta.stackexchange.com/q/156810/204922)를 읽어보십시오. [Minimal, Complete, Verifiable Examples] (http://stackoverflow.com/help/mcve)에 대해 배우고 싶을 수도 있습니다. –

답변

0

중앙값은 50 번째 백분위 수와 같습니다. 당신이 하이브 기능을 사용하여 괜찮다면 다음 중 하나를 수행 할 수

marketingDF.selectExpr("percentile(CAST(Balance AS BIGINT), 0.5) AS median") 

당신은() 대신 percentile_approx 사용으로 볼 수있는 정확한 그림이 필요하지 않은 경우.

두 기능에 대한 설명은 here입니다.

관련 문제