「Pandasのスケーリング入門」

Pandas Scaling Introduction

編集者注:Doris Leeは、この10月30日から11月2日まで開催されるODSC Westの講演者です。彼女のトーク「コードの一行を変更するだけでデータサイエンスワークフローをスケーリングする」をぜひチェックしてください!

pandasは現在最も人気のあるデータサイエンスライブラリの一つです。最近のStackOverflowの調査によると、開発者の4人に1人が使用しています。また、ほとんどの導入データサイエンスコースやブートキャンプで教えられるデファクトのデータサイエンスライブラリでもあります。

pandasは、小規模なデータセットでのクイックなプロトタイピングには非常に優れていますが、大規模なデータセットを扱う際にはしばしば問題が発生します。

なぜPandas ≠ スケール 🤦

これは、pandasのいくつかの基本的な設計上の決定に起因しています。Pandasはインメモリデータ構造であり、つまり作業中のデータをメモリに収める必要があります。その結果、中程度のサイズのデータセットでもメモリ不足のエラーが簡単に発生することがあります。

Modinの紹介:一行のコードを変更するだけでpandasをスケーリングする

これらの問題に対処するために、私たちはModinを開発しました。これは、pandasのスケーラブルな置き換えです。Modinは、データフレームの基礎となる抽象化であるデータフレームについての最先端の学術研究を活用し、データベースと分散システムの最良の部分をデータフレームにもたらします。Modinを使用するには、次のようにインポートステートメントを置き換えるだけです:

#import pandas as pd
import modin.pandas as pd
df = pd.read_csv("bigdata.csv")

インポートステートメントを変更したら、pandasと同様にModinを使用する準備が整いました!パンダスのコードを変更することなく、ノートパソコンで4倍の高速化を簡単に実現できます!

データウェアハウスでスケールのあるpandasを実行する 🚀

ほとんどのエンタープライズデータチームは、Snowflake、BigQuery、DuckDBなどのデータベースやデータウェアハウスにデータを保存しています。しかし、pandasでそのデータを扱おうとすると、データセットを自分のマシンのメモリに取り込む必要があるため、遅くなったり、費用がかかったり、致命的なメモリ不足の問題が発生することがあります。

Ponderは、あなたのpandasコードをデータウェアハウスが理解できるSQLに変換することで、この問題を解決します。その結果、お気に入りのpandas APIを使用できますが、データパイプラインは最も堅牢で最適化されたデータインフラストラクチャの一つであるデータベース上で実行されます。

以下は、簡単に始める方法です:

import modin.pandas as pd 

import ponder
ponder.init()

次に、データベース接続を設定します。Ponderは現在、Snowflake、BigQuery、DuckDBをサポートしています:

#SnowflakeのPythonコネクタを使用
import snowflake.connector
db_con = snowflake.connector.connect(user=**, password=**, account=**, role=**, database=**, schema=**, warehouse=**)

Ponderでは、read_sqlは単にデータウェアハウスのテーブルに接続を確立します。データはデータウェアハウスに保持され、実行されるすべての後続のpandasコマンドはデータウェアハウスでSQLクエリとして実行されます。

df = pd.read_sql("DB_TABLE",db_con) #注意:データはメモリに読み込まれません!

# pandasで操作を実行 - すべてがSnowflake上で実行されます!
df.describe() # 概要統計の計算

データベース内ですべてを直接実行することで、データウェアハウスのスケーラビリティを継承します。Ponderを使用すると、1テラバイト以上のデータでpandasを実行できます。SnowflakeとBigQuery上で150M行のデータを扱う際に、2時間以上の開発時間を節約できることを示しました。

Pythonのデータワークフローをデータウェアハウスで実行するために、今すぐここでサインアップしてください!始める方法については、クイックスタートガイドをご覧ください。

著者について:

Doris LeeはPonderのCEO兼共同創設者です。Dorisは2021年にUCバークレーのRISE Labと情報学部で博士号を取得し、データサイエンティストがデータを探索し理解するのを支援するツールを開発しました。彼女は2023年のForbes 30歳未満エンタープライズテクノロジー部門の受賞者です。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

人工知能

ピーター・マッキー、Sonarの開発者担当責任者-インタビューシリーズ

ピーター・マッキーはSonarのDeveloper Relationsの責任者です Sonarは、悪いコードの1兆ドルの課題を解決するプラットフォー...

人工知能

キャルレールの最高製品責任者、ライアン・ジョンソンへのインタビューシリーズ

ライアンは、初期のスタートアップからフォーチュン100の組織まで、多様なテクノロジーと製品開発のリーダーシップ経験を15年...

人工知能

『ジュリエット・パウエル&アート・クライナー、The AI Dilemma – インタビューシリーズの著者』

『AIのジレンマ』は、ジュリエット・パウエルとアート・クライナーによって書かれましたジュリエット・パウエルは、著者であ...

人工知能

「ジンディのCEO兼共同創設者、セリーナ・リー― インタビューシリーズ」

「Celina Leeは、ZindiのCEO兼共同創設者であり、アフリカのデータサイエンティスト向けの最大の専門ネットワークです Celina...

人工知能

アーティスの創設者兼CEO、ウィリアム・ウーによるインタビューシリーズ

ウィリアム・ウーは、Artisseの創設者兼CEOであり、ユーザーの好みに基づいて写真を精密に変更する技術を提供していますそれ...

人工知能

ジョナサン・ダムブロット、Cranium AIのCEO兼共同創設者- インタビューシリーズ

ジョナサン・ダムブロットは、Cranium AIのCEO兼共同創業者ですCranium AIは、サイバーセキュリティおよびデータサイエンスチ...