0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Glow | Databricks on AWS [2022/3/2時点]の翻訳です。

本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。

Glowは、DatabricksとRegeneron Genetics Centerとコラボレーションを通じて開発されたオープンソースプロジェクトです。Glowの機能に関する情報については、Glow documentationをご覧ください。

Glowノートブックをワークスペースに同期

  1. Glow github repoをフォークします。
  2. Reposを用いて、フォークをDatabricksワークスペースにクローンします。
  3. ノートブックはdocs/source/_staticの下に配置されます。

Glow環境のセットアップ

Databricks Container Servicesを用いて、Dockerを通じてDatabricksクラスターにGlowをインストールします。

ProjectGlow Dockerhubページでコンテナを見つけることができます。これらは、GlowやDatabricks Runtime for Genomics(非推奨となりました)の他のライブラリを含む環境をセットアップします。projectglow/databricks-glow:<databricks_runtime_version>のタグを利用可能なDatabricksランタイムバージョンで置き換えて使用してください。

あるいは、これら両方をクラスターライブラリとしてインストールします。

  • Maven: io.projectglow:glow-spark3_2.12:<version>
  • PyPI: glow.py==<version>

重要!

  • GlowをスタンドアローンのPyPiパッケージとしてインストールする場合は、%pipマジックコマンドを使うノートスコープライブラリではなく、クラスターライブラリとしてインストールしてください。
  • MavenコーディネートとPyPIパッケージの両方がクラスターでインストールされ、バージョンがマッチしていることを確認してください。
  • デフォルトでGlow v0.6がインストールされているDatabricks Runtime for Genomics (deprecated)ではなく、Databricksランタイム上に最新のGlowをインストールしてください。
  • Hail Matrix Tableから遺伝子型を抽出する場合を除き、Glowと一緒にクラスターにHailをインストールしないでください。

Glowを使い始める

リアルなデータを使う前に、ノートブックで提供されるデータに対してテストノートブックを実行することをお勧めします。これらのノートブックは最新バージョンのGlow Dockerコンテナでテストされています。

重要!

  • 遺伝子型データの取り込み、変換の後にはDelta Lakeにチェックポイントを作成してください。

自動化ジョブのセットアップ

サンプルノートブックを実行した後は、リアルなデータにコードを実行し、ジョブを用いてお使いのパイプラインを自動化する準備ができたことになります。

重要!

  • スモールにスタートしてください。個々の変異体、サンプル、染色体で実験してください。
  • 実行する計算処理のタイプによっては、パイプラインのステップが異なるクラスター設定を必要とする場合があります。

ティップス

  • クラウドオブジェクトストレージから変異体データを読み込む際にはコンピュート最適化VMを使ってください。
  • 変異体データをクエリーする際にはDeltaキャッシュ高速化VMを使用してください。
  • 遺伝子関連解析にはメモリー最適化VMを使ってください。
    • 大規模マシンのクラスターよりも、複数の小規模マシンのクラスターの方がコストパフォーマンスが優れています。
  • Glow Pipe Transformerは、GPUで実行するディープラーニングツールの並列化をサポートしています。

以下のサンプルのクラスター設定は、単一の染色体に対して遺伝子関連解析を実行します。必要に応じてnotebook_path<databricks_runtime_version>を編集します。

Bash
databricks jobs create --json-file glow-create-job.json

glow-create-job.json

JSON
{
  "name": "glow_gwas",
  "notebook_task": {
    "notebook_path" : "/Users/<user@organization.com>/glow/docs/source/_static/notebooks/tertiary/gwas-quantitative",
    "base_parameters": {
      "allele_freq_cutoff": 0.01
    }
  },
  "new_cluster": {
    "spark_version": "<databricks_runtime_version>.x-scala2.12",
    "aws_attributes": {
      "availability": "SPOT",
      "first_on_demand": 1
    },
    "node_type_id": "r5d.4xlarge",
    "driver_node_type_id": "r5d.4xlarge",
    "num_workers": 32,
    "spark_conf": {
      "spark.sql.execution.arrow.maxRecordsPerBatch": 100
    },
    "docker_image": {
      "url": "projectglow/databricks-glow:<databricks_runtime_version>"
    }
  }
}

Databricks 無料トライアル

Databricks 無料トライアル

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?