Hail 0.2

안녕 은 대량 게놈 데이터 집합 분석을 위해 Apache Spark를 기반으로 하는 라이브러리입니다.

중요

  • 0.2.65부터 Apache Spark 버전 3.1.1 (Databricks Runtime .x 이상)를 사용 합니다.
  • Genomics (사용 되지 않음)에 대 한 Databricks Runtime 아닌 Databricks Runtime에 안녕을 설치 합니다.

Hail 클러스터 만들기

Databricks Container service를 사용 하 여 Docker를 통해 안녕을 설치 합니다.

Projectglow Dockerhub 페이지에서 안녕 환경를 설정 하는 컨테이너를 찾을 수 있습니다. 을 사용 하 여 태그를 사용 projectglow/databricks-hail:<hail_version> 가능한 안녕 버전으로 바꿉니다.

  1. 안녕을 사용 하 여 작업 클러스터 만들기

    1. DATABRICKS CLI를 설정 합니다.
    2. 태그를 원하는 것으로 설정 하 여 안녕 Docker 컨테이너를 사용 하 여 클러스터를 만듭니다 .
    3. 예제 작업 정의는 아래에 제공 되어 <hail_version> 있습니다. notebook_path, Databricks Runtime 및를 편집 하세요.
    databricks jobs create --json-file hail-create-job.json
    

    hail-create-job.json:

{
  "name": "hail",
  "notebook_task": {
    "notebook_path" : "/Users/<user@organization.com>/hail/docs/hail-tutorial",
  },
  "new_cluster": {
    "spark_version": "<databricks_runtime_version>.x-scala2.12",
    "azure_attributes": {
      "availability": "SPOT",
      "availability": "SPOT_WITH_FALLBACK_AZURE",
      "spot_bid_max_price": -1
    },
    "node_type_id": "Standard_DS3_v2",
    "num_workers": 32,
    "docker_image": {
      "url": "projectglow/databricks-hail:<hail_version>"
    }
  }
}

노트북에서 Hail 사용

대부분의 경우 Azure Databricks의 안녕 0.2 코드는 안녕 설명서와 동일 하 게 작동 합니다. 그러나 Azure Databricks 환경에 필요한 몇 가지 수정 사항이 있습니다.

안녕 초기화

반으로 초기화 하는 경우 미리 만든를 전달 SparkContext 하 고 초기화를 idempotent로 표시 합니다. 이 설정을 사용 하면 여러 Azure Databricks 노트북에서 동일한 안녕 컨텍스트를 사용할 수 있습니다.

참고

skip_logging_configuration를 사용 하 여 롤링 드라이버 log4j 출력에 로그를 저장 합니다. 이 설정은 반 0.2.39 이상 에서만 지원 됩니다.

import hail as hl
hl.init(sc, idempotent=True, quiet=True, skip_logging_configuration=True)

Bokeh 플롯 표시

안녕은 Bokeh 라이브러리를 사용 하 여 플롯을 만듭니다. showBokeh에 내장 된 함수는 Azure Databricks에서 작동 하지 않습니다. 안녕에 의해 생성 된 Bokeh 플롯을 표시 하려면 다음과 같은 명령을 실행할 수 있습니다.

from bokeh.embed import components, file_html
from bokeh.resources import CDN
plot = hl.plot.histogram(mt.DP, range=(0,30), bins=30, title='DP Histogram', legend='DP')
html = file_html(plot, CDN, "Chart")
displayHTML(html)

자세한 내용은 Bokeh 를 참조 하세요.