celebaltech

デコーディング

スノーパークとデータブリックス

データプラクティショナーのためのディープダイブ

ブログシリーズ紹介 -

急速に進化する今日のデータサイエンスの世界では、適切なツールとテクノロジーは、多くの場合、欲求不満の時間と洞察に満ちた発見へのスムーズな航海との違いを意味します。データ サイエンティストは、データ操作、分析、モデル構築などの複雑な状況をナビゲートするため、選択したツールが提供する堅牢なサポートに大きく依存しています。このブログシリーズでは、データサイエンスのランドスケープを形作るのに役立った二つのそのような技術の比較を掘り下げます。私たちは、両方のオプションの特徴を探り、その利点を比較検討し、最終的にデータサイエンティストの生活を大幅に向上させる可能性があるものを明らかにします, 複雑なタスクを管理しやすくするだけでなく、楽しいものにする。したがって、経験豊富なデータ専門家であろうと、この魅力的な分野に足を踏み入れたとしても, この探索に参加して、これらのテクニックに取り組む方法で時間を節約できる可能性のあるテクノロジーを発見してください!

お客様に情報に基づいた選択を行えるように、さまざまなプラットフォームの領域を深く掘り下げ、細心の注意を払って分析し、最適なソリューションを提供します。この追求において、我々は徹底的な調査に乗り出す スノーパーク and undertake a comprehensive comparison with データブリック 一連の啓発ブログ投稿を通じて。これらのプラットフォームの複雑さを解明することで、特定のニーズと願望に対して適切な決定を下すために必要な知識と洞察をクライアントに提供することを目指しています。

Databrickspython を長年サポートしており、Spark や多くのデータサイエンスおよび機械学習ライブラリを含むオープンソースエコシステムを採用しています

スノーパークsnowflake の新しい専有機能であり、DataFrame API やネイティブ Snowpark 機械学習 API を含む一連のライブラリを提供し、コードを唯一の snowflake’s プラットフォームに適応させる必要があります 実行できる場所であり、開発を遅くする多くの重要な機能が欠けています。

Databricks と Snowpark の比較の一環として、Databricks の機械学習体験と Snowpark を比較し、次に Delta Live Tables(DLT)を使用したデータ エンジニアリングを比較する 3 部構成のブログ シリーズを提示しています エンドツーエンドの ETL パイプラインを開発および展開する際の Snowflake’s Snowpark。可能な限り Python を使用することに焦点を当て、必要に応じて SQL、Java、CLI、または外部コンピューティングに戻ります

データサイエンスの実践者のためのデータブリックス対スノーパーク:

機械学習のユースケースにおける Databricks ノートブックと Snowpark ワークシート(別名 Snowsight)の使用を比較することを目指しています。ML API とランタイムを確認して比較し、機能エンジニアリングからモデル展開(MLops)サイクルまでの ML サイクルのさまざまなフェーズを探求したいと考えました。次のセクションでは、分析を共有するために使用される手順と、他の人が同じものを複製するのに役立つコードについて説明します。

· ウォームアップ : プロットを含むノートブック対ワークシート

· フルスプリント : ML ランタイム vs スノーパーク コンダ/スノーパーク ML

第 1 章: ウォームアップ:ノートブックとプロットを含むワークシート -

データブリックのステップ:

私たちのチームは Spark と Python の専門家で構成されており、SQL と Java の使用を可能な限り最小限に抑える傾向があります。したがって、探索的データ分析を行うために Databricks ノートブックを利用します。

1

Databricks ノートブックでは、まず新しいノートブックを作成します。その後、DBFS にデータをアップロードするオプションがあります。

2

次に、任意のローカルファイルを任意のターゲットディレクトリにアップロードできます 次に、正しいファイル形式とパスを使用して Spark DataFrame を作成するための便利なコピーボタンが提供されます ファイル。

3

1 行を追加するだけです。正しい列データ型を推測するためのオプション('inferSchema', 'true')

4

次に、コードをノートブックに貼り付けて実行して、データを表示できます

5

データを理解するには、組み込みのデータプロファイラーを実行できます

6

データを理解するには、組み込みのデータプロファイラーを実行できます

7

これに加えて、任意の Python プロットライブラリを使用してデータをさらに探索できます

8

スノーパーク ステップ -

並行して、新しい Snowpark Python ワークシートを使用して Snowflake で同じことをしようとします。

データをアップロードして開始するには、まずスキーマとテーブルを作成する必要があります。

https://docs.snowflake.com/en/user-guide/data-load-web-ui#loading-data-using-snowsight

1

2

これは Python で行うことができますが、すべての DDL には依然として SQL が必要です。次のコードは、GLOBAL_FACTORY_DEV データベースの作成に役立ちます

3

上記を実行しようとすると、 ‘handler’ 関数を使用するためのエラーが生成されます

4

設定の ‘handler’ で実行する関数名を追加しました:

5

これは動作しますが、結果や出力に有用な情報は返されません

6

結果を文字列として返してみてください

7

これで動作し、スキーマが作成されたことを示します:

8

テーブルの DDL を作成するには、CSV ファイルをローカルで開き、時間がかかるデータタイプを定義する必要があります。

9

The table is created:

10

指示に従って csv データセットをアップロードできるようになりました。

11

12

13

これらの 3 つのオプションを変更し、残りはデフォルトのままにします:

14

15

クエリデータをクリックすると、SQL の例だけが表示されます。Snowpark と Python を表示することは、Snowflake の目立った機能ではありません。テーブルをロードしてデータをプレビューする機能を作成しました。

16

Python パッケージ(Anaconda)を使用する前に、条件に同意する必要があります

17

Databricks ノートブックで試した同様のプロットを生成できることを投稿します

18

Python プロットライブラリを使用して、結果を表示したい形式で出力できるかどうかを確認します。

19

Seaborn は Databricks のようにデフォルトでは利用できないようです。

20

Seaborn ライブラリをインストールできるようです

21

マトプロトリブ図書館とともに

22

インジケーターはありませんでしたが、現在インストールされているようです。

23

We run the plot function again and it fails.

24

Snowflake のデータ型から Pandas のデータ型への変換が正しく変換されていないようです。問題を調査するために dtypes を印刷しようとします。

25

Pandas df データ型は、大文字ではありますが正しいため、問題が何であるか今は分かっていません。この時点で、Databricks を使用してデータを簡単に視覚化するだけです。

26

コードポストを実行しようとすると、同じコードが機能します 開発環境を設定します。ただし、pandas の変換は pandas パッケージに依存しませんが、snowflake-snowpark-python[pandas]をさらにインストールする必要があります

Databricks は、CSV ファイルをすばやくアップロードして分析するプロセスを簡素化します。ノートブックは直感的なインターフェイスと、さまざまな一般的な Python プロットライブラリを活用する機能を提供します。

対照的に、Snowflake では、データアップロードの前にテーブルを最初に作成する必要があり、開始するだけの複数の手順を導入しています。ワークシートは、複数のコードブロックの処理に関してはあまりユーザーフレンドリーではなく、ノートブックの好まれるユーザーエクスペリエンスからの大きな逸脱を表しています。プロットライブラリがどの程度利用できるかは不明なままであり、解決が難しい課題につながることがよくあります。