الجدول الملخّص
1. التنفيذ المؤجل مقابل التنفيذ الفوري
pandas (التنفيذ الفوري)
DataStore (مؤجل)
لماذا يُعد هذا مهمًا
- تحسين الاستعلامات: تُجمَّع عمليات متعددة في استعلام SQL واحد
- استبعاد الأعمدة غير اللازمة: لا تُقرأ إلا الأعمدة المطلوبة
- تطبيق عوامل التصفية عند المصدر: تُطبَّق عوامل التصفية عند المصدر
- كفاءة الذاكرة: لا تُحمِّل بيانات لا تحتاج إليها
2. أنواع الإرجاع
pandas
DataStore
التحويل إلى أنواع بيانات pandas
3. محفزات التنفيذ
العمليات التي تظل مؤجلة التنفيذ
4. ترتيب الصفوف
pandas
DataStore
rowNumberInAllBlocks()) لضمان اتساق ترتيبها مع pandas.
عندما يكون الترتيب محفوظًا
- مصادر الملفات (CSV، Parquet، JSON، إلخ)
- مصادر pandas DataFrame
- عمليات التصفية
- اختيار الأعمدة
- بعد استخدام
sort()أوsort_values()بشكل صريح - العمليات التي تحدد الترتيب (
nlargest()،nsmallest()،head()،tail())
متى قد يختلف الترتيب
- بعد عمليات التجميع
groupby()(استخدمsort_values()لضمان اتساق الترتيب) - بعد
merge()/join()مع بعض أنواع الربط - في وضع الأداء (
config.use_performance_mode()): لا يُضمن ترتيب الصفوف في أي عملية. راجع وضع الأداء.
5. لا توجد معلمة باسم inplace
pandas
DataStore
inplace=True غير مدعوم. أسند النتيجة دائمًا:
لماذا لا يوجد inplace؟
- بناء الاستعلامات (التقييم المؤجل)
- السلامة في البيئات متعددة الخيوط
- تصحيح الأخطاء بسهولة أكبر
- شيفرة أكثر نظافة
6. دعم الفهارس
pandas
DataStore
مصدر DataStore مهم
- مصدر DataFrame: يحافظ على الفهرس في pandas
- مصدر File: يستخدم فهرسًا بسيطًا من الأعداد الصحيحة
7. سلوك عمليات المقارنة
المقارنة مع pandas
استخدام الدالة equals()
8. استدلال النوع
pandas
DataStore
التحويل الصريح للأنواع
9. نموذج الذاكرة
pandas
DataStore
10. رسائل الخطأ
مصادر الأخطاء المختلفة
- أخطاء pandas: من مكتبة pandas
- أخطاء DataStore: من chDB أو ClickHouse
نصائح لتصحيح الأخطاء
قائمة التحقق الخاصة بالترحيل
- غيّر عبارة الاستيراد
- أزل المعاملات
inplace=True - أضف
to_df()صراحةً حيث يكونpandas DataFrameمطلوبًا - أضف الفرز إذا كان ترتيب الصفوف مهمًا
- استخدم
to_pandas()في اختبارات المقارنة - اختبر باستخدام أحجام بيانات ممثلة