Home
Explore
Submit Search
Upload
Login
Signup
Advertisement
Check these out next
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
平成最後の1月ですし、Databricksでもやってみましょうか
Ryuichi Tokugami
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
Vacuum徹底解説
Masahiko Sawada
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Web Services Japan
1
of
28
Top clipped slide
Databricksを初めて使う人に向けて.pptx
Mar. 4, 2023
•
0 likes
0 likes
×
Be the first to like this
Show More
•
119 views
views
×
Total views
0
On Slideshare
0
From embeds
0
Number of embeds
0
Download Now
Download to read offline
Report
Data & Analytics
クラスター構成のベストプラクティス Databricks SQLとは
otato
Follow
Advertisement
Advertisement
Advertisement
Recommended
AlloyDBを触ってみた!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
2.6K views
•
17 slides
Data platformdesign
Ryoma Nagata
1.4K views
•
51 slides
クラウドDWHにおける観点とAzure Synapse Analyticsの対応
Ryoma Nagata
932 views
•
99 slides
Cassandraのしくみ データの読み書き編
Yuki Morishita
30.6K views
•
30 slides
PostgreSQL 15 開発最新情報
Masahiko Sawada
1.8K views
•
33 slides
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
NTT DATA Technology & Innovation
1.2K views
•
78 slides
More Related Content
Slideshows for you
(20)
RDB技術者のためのNoSQLガイド NoSQLの必要性と位置づけ
Recruit Technologies
•
59.6K views
PostgreSQL14の pg_stat_statements 改善(第23回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
•
2.3K views
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
•
12.8K views
平成最後の1月ですし、Databricksでもやってみましょうか
Ryuichi Tokugami
•
1.4K views
NetflixにおけるPresto/Spark活用事例
Amazon Web Services Japan
•
7.9K views
Vacuum徹底解説
Masahiko Sawada
•
4.4K views
Apache Sparkに手を出してヤケドしないための基本 ~「Apache Spark入門より」~ (デブサミ 2016 講演資料)
NTT DATA OSS Professional Services
•
52.5K views
Amazon Aurora Deep Dive (db tech showcase 2016)
Amazon Web Services Japan
•
2.7K views
PostgreSQLの運用・監視にまつわるエトセトラ
NTT DATA OSS Professional Services
•
16K views
Ingress on Azure Kubernetes Service
Toru Makabe
•
1.9K views
SQL大量発行処理をいかにして高速化するか
Shogo Wakayama
•
56.6K views
PostgreSQL 12は ここがスゴイ! ~性能改善やpluggable storage engineなどの新機能を徹底解説~ (NTTデータ テクノ...
NTT DATA Technology & Innovation
•
13.5K views
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
•
70.6K views
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
NTT DATA Technology & Innovation
•
2.4K views
iostat await svctm の 見かた、考え方
歩 柴田
•
17.1K views
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(後編)
日本マイクロソフト株式会社
•
595 views
Hadoop/Spark を使うなら Bigtop を使い熟そう! ~並列分散処理基盤のいま、から Bigtop の最近の取り組みまで一挙ご紹介~(Ope...
NTT DATA Technology & Innovation
•
630 views
Azure Datalake 大全
Daiyu Hatakeyama
•
2.6K views
アサヒのデータ活用基盤を支えるデータ仮想化技術
Denodo
•
966 views
RDB開発者のためのApache Cassandra データモデリング入門
Yuki Morishita
•
7.3K views
Similar to Databricksを初めて使う人に向けて.pptx
(20)
A Tour of PostgreSQL
EDB
•
316 views
Developers.IO 2019 Effective Datalake
Satoru Ishikawa
•
2.4K views
【de:code 2020】 Azure Synapse Analytics 技術編 ~ 最新の統合分析プラットフォームによる新しい価値の創出(前編)
日本マイクロソフト株式会社
•
452 views
経済学のための実践的データ分析 4.SQL ことはじめ
Yasushi Hara
•
936 views
Microsoft Azureのビッグデータ基盤とAIテクノロジーを活用しよう
Hideo Takagi
•
822 views
SQL Server 使いのための Azure Synapse Analytics - Spark 入門
Daiyu Hatakeyama
•
1.2K views
Spark Summit 2014 の報告と最近の取り組みについて
Recruit Technologies
•
2.7K views
Azure Antenna はじめての Azure Data Lake
Hideo Takagi
•
2.2K views
G-Tech2015 Hadoop/Sparkを中核としたビッグデータ基盤_20151006
Cloudera Japan
•
2.1K views
Microsoft AI Solution Update / DLL community Update
Hirono Jumpei
•
798 views
実はとても面白い...Documentation library
Kouta Shiobara
•
1.5K views
Jubatusでマルウェア分類
Shuzo Kashihara
•
5.4K views
超高速な機械学習を Oracle Database で実現!
オラクルエンジニア通信
•
5K views
PostgreSQL 12の話
Masahiko Sawada
•
7.5K views
【ウェブ セミナー】AI 時代のクラウド データ ウェアハウス Azure SQL Data Warehouse [実践編]
Hideo Takagi
•
781 views
Azure Stack 受け入れ準備_20180630
Hiroshi Matsumoto
•
3.1K views
Sql server data store data access internals
Masayuki Ozawa
•
1.2K views
Oracle Cloud Developers Meetup@東京
tuchimur
•
2K views
Building asp.net core blazor and elasticsearch elasticsearch using visual stu...
Shotaro Suzuki
•
341 views
Seas で語られたこととは?
Masayuki Ozawa
•
806 views
Advertisement
Recently uploaded
(20)
#国外留学文凭购买Brandon假毕业证书
fc2c0f2b1mymailol
•
2 views
81福特汉姆大学.pdf
LorettaPrice2
•
2 views
九大_DS実践_Python基礎その2
RyomaBise1
•
3 views
207-南达科他大学.pdf
LorettaPrice2
•
3 views
47北达科他大学.pdf
LorettaPrice2
•
2 views
小学校向けAI導入企画0606.pdf
KunihiroSugiyama1
•
108 views
#国外留学文凭购买约克大学假毕业证书
fc2c0f2b1mymailol
•
2 views
6.帝国理工.pdf
fdhrtf
•
2 views
64俄克拉荷马城市大学.pdf
LorettaPrice2
•
2 views
74拉萨尔学院.pdf
fdhrtf
•
2 views
41布兰登大学.pdf
fdhrtf
•
2 views
22.诺丁汉大学.pdf
fdhrtf
•
2 views
#国外留学文凭购买York U假毕业证书
fc2c0f2b1mymailol
•
2 views
25戴尔豪斯大学.pdf
fdhrtf
•
2 views
#国外留学文凭购买Brighton假毕业证书
fc2c0f2b1mymailol
•
2 views
61.密德萨斯大学.pdf
fdhrtf
•
2 views
21威斯康星麦迪逊分校.pdf
fdhrtf
•
3 views
11墨尔本.pdf
dsadasd17
•
2 views
173-天普大学.pdf
LorettaPrice2
•
2 views
28西澳.pdf
fdhrtf
•
2 views
Databricksを初めて使う人に向けて.pptx
Databricksを初めて 使う人に向けて
2 Databricksを始めるとき、こんな疑問を抱くことがないでしょうか? クラスター構成の最適解が わからない。 分散処理に使用するワーカー 数ってどのくらいが妥当? Databricks SQLとSpark
SQL はどう使い分ける?
3 そもそも 「Databricks」っ て何?
4 そもそも「Databricks」って何? 端的に言うと、 「データ分析に必要な機能をオールインワンパッケージで提供している分析プラットフォーム」 です。 データ取込 ETL 分析
可視化
5 そもそも「Databricks」って何? Databricksを実行する際に要となるのが「クラスター」です。 Spark programming, Spark
Batchジョブを実行する計算のリソースと設定をセットにしたものです。 Driver Worker Worker Worker Worker Executor Executor Executor Executor Cor e Cor e Cor e Cor e Cor e Cor e Cor e Cor e Task Task Task Task Task
6 クラスター構成の ベストプラクティス
7 クラスター構成のベストプラクティス 構成を決定する際に考慮する点 ユーザーの種類
ワークロードの種類 Service Level Agreement(SLA)の程度 予算の制約 クラスターの構成は、コストとパフォーマンスのバランスを考慮して行います。 コスト: クラスターによって消費されるDatabricksユニット クラスターの実行に必要な基本リソース ⇒二次的なコストがはっきりせず、考慮に入れにくいケースもあります。
8 クラスター構成のベストプラクティス クラスターのサイズ設定 クラスターのサイズを設定する際に考慮すべきポイント ワークロードで消費されるデータ量
コンピューティングの複雑さ データの読み取り元 外部ストレージでのデータのパーティションの方法 どの程度の並列処理が必要であるか
9 クラスターの構成
10 クラスターの構成 クラスターを新規作成する際には、以下の項目を選択する クラスターポリシー
マルチノード/シングルノード アクセスモード Runtimeバージョン クラスターノードの型
11 クラスターの構成 クラスターポリシー 規則に基づいてユーザー・グループの クラスター作成のアクセス許可を制御する。 マルチノード
/ シングルノード 複数のワーカーで分散処理をさせるか単一ワー カーで集中処理させるかを定義する。
12 クラスターの構成 アクセスモード Unity Catalogで保護されたデータへのアクセス方法を 設定する。
Runtimeバージョン クラスターで実行されるコアコンポーネントのセット。 すべてのバージョンにApache Sparkが含まれている。
13 クラスターの構成 クラスターノードの型 ドライバーノード・ワーカーノードに対して 別々のクラウドプロバイダーインスタンスの 種類を選択することができる。 マルチノードを選択している場合、ワーカー 数は固定数での指定や、自動スケーリングが 可能。
14 【補足】ワーカー数の設定
15 ワーカー数の設定 多くすればいいとは限らない 以下の設定をしているクラスターは同じコンピューティングとメモリを持つ ことになる。 2つのワーカー(16コアと112GBのRAM)
8つのワーカー(4コアと28GBのRAM) ワーカーの数とワーカー インスタンスタイプのサイズとの間でバランスを考慮 する必要がある。
16 クラスター構成 の考慮ポイント
17 クラスター構成の考慮ポイント 最適なクラスター構成を目指すうえで考慮すべきこと 反復パフォーマンステストによるクラスターサイズの最適化
シャッフルの調整 データのパーティション分割
18 クラスター構成の考慮ポイント パフォーマンステストを反復することで最適サイズのクラスターを 構成する 1. 中規模(2~8ノード)のクラスターで開発を行う。 2.
機能要件を満たしたら、CPU、メモリ、およびI/Oを集計レベルで測定し、 より大きなデータに対してテストを行う。 3. クラスターを最適化して、手順2で見つかったボトルネックを取り除く ⇒ボトルネックが解決されるまで手順2と3を繰り返す。
19 クラスター構成の考慮ポイント パフォーマンスを最適化するにはシャッフルの調整が必要 データ量が大きいクエリを実行する際に、シャッフルがクエリ性能に影 響を及ぼす。 ⇒適切なパーティション数の設定が重要になってくる。
20 クラスター構成まとめ データのパーティションによる影響を考慮する 適切なパーティションを設定することでスケーラビリティの向上や競合の 低減、パフォーマンスの最適化へとつながる。 均等にデータが分散されるようなパーティションを設定する
パーティションあたり数十GB データセットが小さい場合は不必要にパーティション分割しない 過剰なパーティション分割を行わない
21 Databricks SQLについて
22 そもそもDatabricks SQL とは
Databricks Lakehouse Platformにビルトインされている エンタープライズデータウェアハウス Lakehouseに直接クエリを実行できる。
23 そもそもDatabricks SQL とは Databricks
SQLではダッシュボードの作成も可能であるため、 SQLクエリやBIツールをメインで使用するデータアナリストなどにとって 直感的に分析を行う環境として用いられる。 ダッシュボードの例
24 Databricks SQL と
Spark SQLの使い分け 下図のように、データアナリスト・データサイエンティストなどの役割に応じて Databricks SQLとSpark SQLを使い分けることにより、データインフラストラク チャの簡素化、データソースの信頼性を確保することができる。
25 まとめ
26 まとめ Databricksを構築する際に悩ましい部分をピックアップしてベストプラクティス を紹介しました。 「これだ!」という方式はなく、試行錯誤して最適解を見つけていく必要がある ということをイメージしてもらえたかと思います。 試行錯誤する幅が広く、慣れないと敬遠してしまいそうになるかもしれませんが、 それは「自由度の高さ」というDatabricksの強みでもあります。
27 参考リンク集 【クラスター構成のベストプラクティス】 https://learn.microsoft.com/ja-jp/azure/databricks/clusters/cluster-config-best-practices 【クラスターポリシー】 https://learn.microsoft.com/ja-jp/azure/databricks/administration-guide/clusters/policies 【アクセスモードとは】 https://learn.microsoft.com/ja-jp/azure/databricks/clusters/cluster-ui-preview#--what-is-cluster-access-mode 【クラスターノードの型】 https://learn.microsoft.com/ja-jp/azure/databricks/clusters/create-cluster#--cluster-node-type 【Runtimeバージョン】 https://learn.microsoft.com/ja-jp/azure/databricks/runtime/?source=recommendations 【クラスターの最適化】 AzureDatabricksBestPractices/toc.md at master
· Azure/AzureDatabricksBestPractices · GitHub 【Databricks SQLとは】 Databricks SQLとは何か? - Qiita SQL開発者向けDatabricksのご紹介 - Qiita
28 Thank You for
Watching.
Editor's Notes
疑問解消の一助になれるよう、ベストプラクティスを紹介していきます。
データ量が多くなるということは、その分Executorで処理する情報量も多くなる 大規模なインスタンスを減らすことにより、シャッフル負荷の高いワークロードの実行中にデータを転送する際のI/Oを削減することが可能。
クラスターポリシー:クラスターを作成するときに使用できる構成オプションを制限するための一連のルール。規則に基づいてユーザーまたはグループのクラスター作成のアクセス許可を制御する。クラスターポリシーによってできること ・指定された設定でユーザーがクラスターを作成できるように制限をかける ・ユーザーが特定のクラスターを作成するように制限する ・ユーザーインターフェースを単純化して、多くのユーザーが独自のクラスターを作成できるようにする ・クラスターあたりの最大コストを制御することで全体のコストをコントロールする https://learn.microsoft.com/ja-jp/azure/databricks/administration-guide/clusters/policies マルチノード / シングルノード:スライドの通り。
アクセスモード:Unity Catalogで保護されたデータへのアクセス方法を設定する。 https://learn.microsoft.com/ja-jp/azure/databricks/clusters/cluster-ui-preview#--what-is-cluster-access-mode シングルユーザーを指定した場合、指定されたユーザーのみがUnity Catalog内のデータにアクセスすることができる。 共有を指定した場合、対象のクラスターを利用できるユーザーがUnity Catalog内のデータにアクセスできる。(サードパーティ製ライブラリ、JARSがサポートされていないなど、制約あり) Runtimeバージョン: https://learn.microsoft.com/ja-jp/azure/databricks/runtime/?source=recommendations
クラスターノードの型: https://learn.microsoft.com/ja-jp/azure/databricks/clusters/create-cluster#--cluster-node-type ※Sparkジョブを実行する際には、少なくとも1台のワーカーノードが必要。
データ量が多くなるということは、その分Executorで処理する情報量も多くなる 大規模なインスタンスを減らすことにより、シャッフル負荷の高いワークロードの実行中にデータを転送する際のI/Oを削減することが可能。 ・データ分析:データアナリスト向けのクラスターは多くのシャッフル操作が発生する。シャッフルを実行するために必要なNWおよびディスクI/Oを削減するため、ノード数が少ないクラスターが推奨される。 ・バッチETL(単純):大規模な変換を必要としない場合、コンピューティングに最適化されたクラスターが推奨される。 ・バッチETL(複雑):シャッフルされるデータ量を最小限に抑えることで最適実行される。データ分析同様ノード数を少なくするクラスターが推奨される。 ・機械学習トレーニングモデル:導入初期は小規模なクラスターを使用し、シャッフルの影響を小さくする。安定性が求められる場合はクラスターの規模を大きくする。しかしシャッフルが大量に発生するような構成はおススメされない。
中規模(2~8ノード)のクラスターで開発を行う。 機能要件を満たしたら、CPU、メモリ、およびI/Oを集計レベルで測定し、より大きなデータに対してテストを行う。 クラスターを最適化して、手順2で見つかったボトルネックを取り除く ボトルネックで考えられるのは、 ・CPUバウンド:ノードを追加してコアを追加する ・NWバウンド:使用するSSDベースのマシンの数を減らし、NWサイズを縮小、リモート読み取りパフォーマンスを向上させる ・ディスクI/Oバウンド:ジョブがディスクに流出してしまう場合、より多くのメモリを搭載しているVMを使用する。 これにより、SLAを満たすことができるベースラインクラスターサイズに到達できる。
ボトルネックで考えられるのは、 ・CPUバウンド:ノードを追加してコアを追加する ・NWバウンド:使用するSSDベースのマシンの数を減らし、NWサイズを縮小、リモート読み取りパフォーマンスを向上させる ・ディスクI/Oバウンド:ジョブがディスクに流出してしまう場合、より多くのメモリを搭載しているVMを使用する。 これにより、SLA(Service Level Agreement)を満たすことができるベースラインクラスターサイズに到達できる。
シャッフルにおいてキーとなる属性はパーティションの数です。パーティションの最適な数はデータに依存しますが、データサイズはステージごと、クエリーごとに大きく異なるため、数をチューニングすることが困難。
抽象的ですが…。
ペルソナは、Data Science & Data Engineer / Machine Learning / SQLの3つで構成されている。 Data Science & Data Engineer、Machine Learningは名前の通り利用イメージができるかと思う。SQL はSpark SQLがData Science & Data Engineerでも使えるので、どう使えば?となりがち(著者が苦笑)
Databricks SQLとは何か? - Qiita
SQL開発者向けDatabricksのご紹介 - Qiita
Advertisement