Databricks를 사용하는 데 드는 비용에서 Databricks의 클러스터 설정 값을 모색

개시하다
Databricks를 사용하는 데 드는 비용의 전반적인 상황을 볼 수 없기 때문에 잊어버리면서 수집한 정보를 보존합니다.
만약 잘못, 누락 등이 있으면 지적해 주십시오.
사용된 클라우드 환경은 AWS입니다.
사이트 축소판 그림
Databricks 사용료 추정 페이지
Databricks의 역량 계획 및 비용 관리
Amazon EC2 필요 시 부과
점 인스턴스(AWS 문서)
현물 실례 고문
Spark의 내부 프로세스 이해
비용 명세
실제 드는 비용은 크게 세 가지로 나뉜다.
  • Databricks 환경 이용료
  • AWS EC2 인스턴스 사용료
  • AWS 3 스토리지 사용료
  • 이 중 Databricks 환경의 이용료는 Databricks 사용료 추정 페이지에서 계산할 수 있다.
    또한 집계 설정 시 개산값이 표시되므로 참고하시기 바랍니다.
    S3 스토리지 사용료는 한 달에 10GB당 25엔입니다.Databricks의 클러스터 설정 값에는 영향을 주지 않으므로 이 문서에서는 자세히 설명하지 않습니다.
    "필요 없는 무거운 서류를 거기에 두고 상관하지 마세요."
    여기까지.
    AWS EC2 인스턴스 사용료 계산 방법 정보

    위 이미지는 Databricks의 클러스터 설정 화면입니다.
    AWS의 EC2 인스턴스 유형인 드라이브 유형, 워커 유형을 각각 설정할 수 있습니다.
    각 실례 유형의 가격은 아래를 보십시오.
    Amazon EC2 필요 시 부과

    고급 옵션을 확장하면 위 이미지에 대한 설정이 나타납니다.단일 노드에는 표시되지 않습니다.
    On-demand, Spot은 각각 인스턴스의 종류를 나타냅니다.
    참조: 점 인스턴스(AWS 문서)
    어쨌든'싸지만 가끔 끊긴다'는 느낌.
    기본 설정은 성능을 확보하기 위해 필요에 따라 On-demand를 만드는 실례로 모든 실례가 스팟은 아니다.
    현물 실례 고문
    워커 유형을 선택할 때 이것도 참고할 수 있다고 생각합니다.각 영역에는 인스턴스 유형의 할인율과 중단률이 표시됩니다.
    설정 항목에 대해서는 참고에도 기재Databricks의 역량 계획 및 비용 관리에 상세하게 설명되어 있다.

    그나저나 클러스터링을 시작할 때 AWS EC2 인스턴스 화면이 바로 이 내용입니다.
    이 실례는 분류가 끝날 때 끝납니다. (삭제)
    이용료 계산의 구체적인 예
    내가 여기까지 말한 것은 모두 구조적인 말인데, 그렇게 신경 쓰이는 것은 "그럼 구체적으로 얼마예요?"내 생각에는 이렇다.
    이번에는 다음과 같은 조건으로 추산을 진행한다.
  • 리존: 도쿄
  • 드라이브 유형: r4.xlarge
  • Worker 유형: i3.xlarge(기본값)
  • 워커 수: 2~8(기본값)
  • On-dmenad/SPot의 구성: 1개의 On-demand, 나머지 Spot(기본값)
  • 사용시간: 3시간
  • 기타 설정 항목: 모두 기본값
  • 드라이브의 유형이 바뀌었지만 DBU/시간은 상기 이미지와 마찬가지로 3~9입니다.

  • Databricks 환경 이용료
    (3~9) * 3h = 9~27DBU
    계획에 따라 DBU당 비용에 따라 활용할 수 있는 기능도 다르다.
    Databricks 작업공간을 만들 때 선택할 수 있습니다.

  • AWS EC2 인스턴스 사용료
    ※ 스팟 가격은 기사를 작성할 때입니다.
    Driver: $0.32 * 3h = $0.96
    Worker(가장 저렴): $0.146*2 노드*3h = $0.8076
    Worker(최고): $0.366*8 노드*3h = $8.784
    합계: $1.7766~$9.744
    최저 가격이 모든 스팟의 경우 최고치가 모두 온데맨드이기 때문에 극단적이지만 상당히 큰 차이가 난다.

  • AWS S3 스토리지 사용료
    사랑을 끊다.
  • Databricks의 클러스터 설정값은 어떻게 하면 좋을까요?
    주: 다음은 제 개인적인 고찰입니다.
    표준 또는 단일 노드
    표준이라면 드라이브 노드는 컨트롤 전용이지만 워커가 스팟에서 사용할 수 있다면 1/3 정도의 가격으로 사용할 수 있어 강력해졌다.
    드라이브와 워크의 실례 유형이 같은 경우 모두 스팟, 온-demand 1대, 2대는 단일 노드와의 비용, 성능비를 대략적으로 계산해 다음과 같이 계산했다.
    Worker 노드 수
    성능
    가격(On-demand 없음)
    가격(On-demand 1대)
    가격(On-demand 2대)
    1
    곱절
    1.33배
    곱절
    -
    2
    곱절
    1.66배
    2.3배
    세 배
    3
    세 배
    곱절
    2.66배
    3.33배
    4
    네 배
    2.3배
    세 배
    3.66배
    5
    다섯 배
    2.66배
    3.33배
    네 배
    6
    여섯 배
    세 배
    3.66배
    4.33배
    7
    7배
    3.33배
    네 배
    4.66배
    8
    8배
    3.66배
    4.33배
    다섯 배
    이렇게 보면 워커 노드를 무겁게 처리하는 필요성이 클수록 기준이 높아지는 것이 좋다.
    간단한 동작 확인 등 작은 처리(단일 노드든 기준의 최소 구성이든 실행 시간이 변하지 않는 것)는 단일 노드가 좋으며, 그렇지 않으면 표준화하는 것이 좋다고 생각합니다.
    최대 워커 노드 수 정보
    워커 노드가 많을수록 성가가 높지만 워커의 최대 수량을 늘린다고 생각하면 좋지 않다.
    즉, 상술한 성능표는'모든 노드가 항상 부하를 가득 채우고 운행하는 상황'이다.
    동시에 수행할 수 있는 작업이 없으면 대기 노드가 발생하고 원가도 떨어지지만 워커 노드가 많을수록 발생 빈도가 높아진다.

    Databricks 실행 시 위에서 설명한 대로 수행 중인 단계 내역을 확인할 수 있으며, 실행 중인 수량이 인스턴스의 핵심수*Worker 노드수라면 모든 노드를 충분히 활용할 수 있어 성가비가 가장 높은 상태라고 할 수 있다.
    (단일 노드는 자신의 핵심수이다.)
    ※ 의뢰, 단계, 의뢰는 아래 내용 참조
    Spark의 내부 프로세스 이해
    특히 시간이 걸리는 셀은 동시 실행수의 상한선을 조정해 노트북에 할당된 클러스터에 가장 적합한 설정값을 찾아 노드가 한가해지지 않도록 확인해야 한다.

    좋은 웹페이지 즐겨찾기