برنامه نویسی

Esproc SPR: معادل DuckDB با افزایش پایتون

برای کاربران تجزیه و تحلیل داده های رومیزی ، اگر DuckDB “چاقوی ارتش SQL SWISS SQL” مفید باشد ، سپس Esproc SPR یک جعبه ابزار همه در یک با قابلیت های داخلی پایتون است و ضمن غلبه بر محدودیت های ذاتی آن ، سهولت استفاده SQL را حفظ می کند.

مانند DuckDB ، ESPROC SPR پشتیبانی عالی برای کنترل فایل ارائه می دهد. پرونده های متداول مانند CSV و Excel می توانند مستقیماً به عنوان پایگاه داده استفاده شوند و به شما امکان می دهند بلافاصله نمایش داده های SQL را اجرا کنید. به عنوان مثال ، داده های فروش پرس و جو:

$SELECT region, SUM(amount) FROM sales.csv GROUP BY region
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

چنین عملیات سبک وزن نسیم Esproc است. مشابه DuckDB ، ESPROC همچنین از Binarization داده ها پشتیبانی می کند ، اما داده ها را به عنوان پرونده هایی با نسبت فشرده سازی عالی ذخیره می کند. بارگیری میلیون ها ردیف فقط ثانیه طول می کشد و حداقل سه برابر سریعتر از خواندن مستقیم CSV است.

در حال حاضر ، SQL ESPROC از توابع پنجره پشتیبانی نمی کند ، و آن را جامع تر از DuckDB می کند. با این حال ، Esproc دارای یک کارت ترامپ است: زبان مادری آن ، SPL ، که کارهای پیچیده را در مقایسه با SQL به طور قابل توجهی ساده می کند ، بنابراین شما در واقع نیازی به نوشتن توابع پنجره ای دست و پا گیر ندارید.
به عنوان مثال ، محاسبه پاداش برای 3 فروشنده برتر در هر استان به چندین سؤال تو در تو در SQL نیاز دارد:

WITH ranked_sales AS (
  SELECT province, salesman, amount,
    ROW_NUMBER() OVER(PARTITION BY province ORDER BY amount DESC) as rank
  FROM sales
)
SELECT * FROM ranked_sales WHERE rank <=3
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

با SPL ، بسیار ساده تر است:

sales.groups(province;top(-3;amount))
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

چنین کارهایی هنوز هم می توانند در SQL انجام شوند. با این حال ، برای انجام کارهای پیچیده تر ، مانند محاسبه “دو برابر شدن خودکار امتیاز پاداش هنگامی که روزهای خرید متوالی مشتری از 5” فراتر می رود ، SQL اغلب کم می شود. هنگامی که صحبت از عملیات کنترل جریان می شود – از جمله اجرای حلقه ها در SQL یا منطق محاسبه را به صورت پویا بر اساس شرایط تنظیم می کند ، بیانیه های IF و حلقه SQL بسیار محدود هستند که عملی باشند. کد پیچیده ای که شما می توانید بنویسید حتی پس از سه روز برای خودتان غیرقابل درک است. به همین دلیل DuckDB اغلب به پایتون متکی است.

رابط پایتون DuckDB به طرز چشمگیری صاف است ، اما استفاده از آنها در ترکیب هنوز حس تکه تکه شدن را ایجاد می کند. شما داده ها را با SQL پرس و جو می کنید ، آن را در یک DataFrame بارگذاری می کنید ، و اغلب در پایان می توانید آن را به پایگاه داده بنویسید. این دو سیستم متمایز با رویکردهای مختلف توسعه و اشکال زدایی هستند که نیاز به تعویض زمینه ذهنی مداوم دارند که احساس جنجالی می کند. این مانند سفارش استیک در یک رستوران چینی است – این کار می کند ، اما احساس بی نظیری می کند.

در مقابل ، ESPROC SPR به طور مستقیم قابلیت های اصلی پایتون را ادغام می کند.
محاسبه فوق برای “روزهای خرید متوالی مشتری بیش از 5” در SPL نوشته شده است:

شرح تصویر
این کد در واقع حتی مختصر تر از پایتون است.

Esproc SPR ، با قابلیت محاسبات جامع خود ، پشتیبانی از محاسبات رویه ای و مکانیسم های کنترل جریان قوی ، از DUCDB با افزایش پایتون بهتر عمل می کند. این چابکی SQL را با انعطاف پذیری زبان برنامه نویسی ترکیب می کند ، در حالی که نیاز به جابجایی به عقب و جلو بین چندین ابزار را از بین می برد. برای تحلیلگران دسک تاپ که اغلب محاسبات پیچیده را کنترل می کنند ، ESPROC SPL ممکن است یک راه حل زیبا تر از “SQL + Python” باشد. از این گذشته ، چه کسی نمی خواهد همه چیز را در یک پنجره اداره کند؟

بارگیری رایگان

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا