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.

DatabricksのAWS Graviton有効化クラスター

Posted at

AWS Graviton-enabled clusters | Databricks on AWS [2022/4/12時点]の翻訳です。

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

プレビュー
本機能はパブリックプレビューです。

DatabricksクラスターではAWS Gravitonインスタンスをサポートしています。これらのインスタンスでは、Arm64命令セットで構築されたAWS設計のGravitonプロセッサーを使用しています。AWSはこれらのプロセッサーを持つインスタンスタイプは、いかなるAmazon EC2のインスタンスタイプと比較しても、ベストなコストパフォーマンスを提供すると説明しています。

利用条件

DatabricksではAWS Graviton有効化クラスターをサポートしています。

  • PhotonなしのDatabricks Runtime 9.1 LTS以降のランタイム、PhotonありのDatabricks Runtime 10.2以降のランタイム

  • すべてのAWSリージョン。しかし、すべてのリージョンで全てのインスタンスタイプが利用できる訳ではないことに注意してください。ワークスペースのリージョンで利用できないインスタンスタイプを選択した際、クラスターの作成に失敗します。

  • 以下のAWS Gravitonインスタンスファミリー

    Photonなし

    Photonあり

    • 汎用: m6gd
    • メモリー最適化: r6gd
  • AWS Graviton2プロセッサーのみ

AWS Graviton有効化クラスターの作成

AWS Graviton有効化クラスターを作成するには、Databricksにおけるクラスター作成の手順に従ってください。

以下のように、クラスターの作成手段によってAWS Gravitonの指定方法は変わります。

作成ボタン、クラスターUI

AWS Graviton有効化クラスターを作成するには、Createボタンを使うクラスターUIを使うの手順に従ってください。Databricks runtime versionに対しては、利用条件セクションでリストされている利用可能なaarch64ランタイムを選択してください。Worker typeDriver type、その両方に対しては、利用条件セクションでリストされているAWS Gravitonインスタンスタイプを選択してください。

Databricks REST API

  1. セットアップしていない場合には、Databricks REST APIauthenticationをセットアップします。

  2. curlPostmanのようなDatabricks REST APIを呼び出すためのツールを使用します。

  3. Clusters APIPOST clusters/createオペレーションを呼び出します。例えば、以下のような呼び出しをcurlを用いて行います。

    Bash
    curl --netrc -X POST \
    https://dbc-a1b2345c-d6e7.cloud.databricks.com/api/2.0/clusters/create \
    --data @create-cluster.json
    

    create-cluster.json

    JSON
    {
      "cluster_name": "my-cluster",
      "spark_version": "10.2.x-aarch64-scala2.12",
      "node_type_id": "m6gd.large",
      "num_workers": 2
    }
    

    Photonあり

    JSON
    {
      "cluster_name": "my-cluster",
      "spark_version": "10.2.x-aarch64-photon-scala2.12",
      "node_type_id": "m6gd.large",
      "num_workers": 2
    }
    

Databricks CLI

  1. 設定していない場合は、CLIをセットアップし、認証を設定します。

  2. Clusters CLIclusters createコマンドを実行します。例えば、以下のようなコマンドを実行します。

    Bash
    databricks clusters create --json-file create-cluster.json
    

    create-cluster.json

    JSON
    {
      "cluster_name": "my-cluster",
      "spark_version": "10.2.x-aarch64-scala2.12",
      "node_type_id": "m6gd.large",
      "num_workers": 2
    }
    

    Photonあり

    JSON
    {
      "cluster_name": "my-cluster",
      "spark_version": "10.2.x-aarch64-photon-scala2.12",
      "node_type_id": "m6gd.large",
      "num_workers": 2
    }
    

Databricks Terraformプロバイダー

  1. インストールしていない場合には、Terraformのオペレーションに必要なコマンドラインツールをインストールし、設定します
  2. Databricksクラスターリソースを作成するTerraform設定を作成して実行します。例えば、以下のような最小限の設定を実行することができます。
terraform {
  required_providers {
    databricks = {
      source = "databrickslabs/databricks"
    }
  }
}

provider "databricks" {
}

resource "databricks_cluster" "this" {
  cluster_name  = "my-cluster"
  spark_version = "10.2.x-aarch64-scala2.12"
  node_type_id  = "m6gd.large"
  num_workers   = 2
}

Photonあり

resource "databricks_cluster" "this" {
  cluster_name  = "my-cluster"
  spark_version = "10.2.x-aarch64-photon-scala2.12"
  node_type_id  = "m6gd.large"
  num_workers   = 2
}

制限

ARM64 ISA

  • 浮動小数点制度の変更: 加算、減算、乗算、除算のようなて近景的なオペレーションでは制度の変更はありません。sincosのような単一の三角関数では、Intelインスタンスに対する精度の差は1.11e-16となります。
  • サードパーティのサポート: ISAの変更はサードパーティのツールやライブラリのサポートに幾らかのインパクトを与える場合があります。
  • 混成インスタンスのクラスター: Databricksでは、異なるDatabricksランタイムが必要とするタイプで、AWS Gravitonと非AWS Gravitonのインスタンスタイプのミックスはサポートしていません。

機能

AWS Gravitonは以下の機能をサポートしていません。

  • Databricks機械学習ランタイム
  • Databricksランタイム10以降のARM64上のJDK 11
  • AWS Glueメタストア
  • Databricksコンテナサービス

参考情報

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?