Azure 上の Polars Deltalake のパフォーマンスが消費者グレードのラップトップとどのように比較されるのか疑問に思ったことはありますか?
いいえ?そうですね。私があなたの好奇心を刺激したのであれば、読み続けてください。
出場者はこちらです
- EliteBook 840 G10、AMD Ryzen 7840U、8 コア、16 スレッド、64 GB RAM
- Linux B3 SKU アプリ サービス プランで実行されている Azure Function (4 コア、7 GB RAM)
- 標準 ADLS2 ストレージ付き
- プレミアム ADLS2 ストレージ付き
利用可能なアプリ サービス プランの完全なリストについては、「価格」を参照してください。
テストのセットアップ
テストでは 3 つのシナリオが測定されます
- デルタテーブルを作成
- デルタテーブルに書き込みます
- デルタテーブルから読み取り
コードは REST API エンドポイント経由で実行されます:
- polars_azure_create: https://function-hekori-learning-002.azurewebsites.net/api/polars/azure/create
- polars_azure_read: https://function-hekori-learning-002.azurewebsites.net/api/polars/azure/read
- polars_azure_write: https://function-hekori-learning-002.azurewebsites.net/api/polars/azure/write
- polars_local_create: http://localhost:7071/api/polars/local/create
- polars_local_read: http://localhost:7071/api/polars/local/read
- polars_local_write: http://localhost:7071/api/polars/local/write
HP EliteBook で func start を使用して https://localhost:7071 を起動しました。
Azure I に公開するには、https://learn.microsoft.com/en-us/azure/azure-functions/create-first-function-cli-python
の手順に従いました。
必要な開発環境をセットアップします。これにより、
経由で関数を公開できるようになりました。
func azure functionapp公開 function-hekori-learning-002.
Terraform を使用して、北ヨーロッパ リージョンに Azure リソースをセットアップしました。
これは、https://function-hekori-learning-002.azurewebsites.net/api/polars/azure/read にアクセスしたときに実行されるコードを示すコード スニペットです
@app.route(route="polars/azure/read", auth_level=func.AuthLevel.ANONYMOUS) def polars_azure_read(req: func.HttpRequest) -> func.HttpResponse: logging.info('Reading from delta table') tic = time.time() df = pl.read_delta(AZURE_STORAGE_PATH, storage_options=storage_options ) df = df.sql( "select sum(value) as sum, avg(value) as mean, count() as count, name from self group by name order by sum asc" ) toc = time.time() logging.info(f"Elapsed time {toc - tic:.2f} seconds") return func.HttpResponse( "Success from polars." + str(df) + '\n' + "Elapsed time " + str(toc - tic) + " seconds", status_code=200 )
テスト結果
ご覧のとおり、HP EliteBook はすべてのシナリオでおよそ 1 桁高速です。
解釈
これは私の個人的な解釈です
- 同期タスクには Azure Function のタイミングで十分です。たとえば、クライアントが
- データが小さく、最高のパフォーマンスが必要な場合は、IO レイテンシーが低いベアメタルまたは仮想マシン上で Polars を実行することを検討してください。
デルタ テーブルのサイズは 3 つのコミットと 2 つの寄木細工ファイルという小さいことに注意してください。つまり、ランタイムは、コンピューティング ユニットからのファイル アクセスのオーバーヘッドを効果的に測定します。
この記事を読んで、コア外処理のための大規模なデータセットを使用したベンチマーク結果をさらに確認したい場合は、この記事に ?
そして購読しますか?私のチャンネルへ???.
以上がPolars Delta Lake: 小規模データでの Azure 機能とラップトップの比較の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

slicingapythonlistisdoneusingtheyntaxlist [start:stop:step] .hore'showitworks:1)startisthe indexofthefirstelementtoinclude.2)spotisthe indexofthefirmenttoeexclude.3)staptistheincrementbetbetinelements

numpyallows forvariousoperationsonarrays:1)basicarithmeticlikeaddition、減算、乗算、および分割; 2)AdvancedperationssuchasmatrixMultiplication;

Arraysinpython、特にnumpyandpandas、aresentialfordataanalysis、offeringspeedandeficiency.1)numpyarraysenable numpyarraysenable handling forlaredatasents andcomplexoperationslikemoverages.2)Pandasextendsnumpy'scapabivitieswithdataframesfortruc

listsandnumpyarraysinpythonhavedifferentmemoryfootprints:listsaremoreflexiblellessmemory-efficient、whileenumpyarraysaraysareoptimizedfornumericaldata.1)listsstorereferencesto objects、with whowedaround64byteson64-bitedatigu

toensurepythonscriptsbehaveCorrectlyAcrossDevelosment、staging、and Production、usetheseStrategies:1)環境variablesforsimplestetings、2)configurationfilesforcomplexsetups、and3)dynamicloadingforadaptability.eachtododododododofersuniquebentandrequiresca

Pythonリストスライスの基本的な構文はリストです[start:stop:step]。 1.STARTは最初の要素インデックス、2。ストップは除外された最初の要素インデックスであり、3.ステップは要素間のステップサイズを決定します。スライスは、データを抽出するためだけでなく、リストを変更および反転させるためにも使用されます。

ListSoutPerformArraysIn:1)ダイナミシジョンアンドフレーケンティオン/削除、2)ストーリングヘテロゼンダタ、および3)メモリ効率の装飾、ButmayhaveslightPerformancostsinceNASOPERATIONS。

toconvertapythonarraytoalist、usetheList()constructororageneratorexpression.1)importhearraymoduleandcreateanarray.2)useList(arr)または[xforxinarr] toconvertoalistは、largedatatessを変えることを伴うものです。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 中国語版
中国語版、とても使いやすい

SAP NetWeaver Server Adapter for Eclipse
Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

ホットトピック









