عن المشروع
Kotlin DataFrame هو مشروع حاضنة مفتوح المصدر من JetBrains (استقرار تجريبي) يوفر معالجة آمنة للأنواع للبيانات الجدولية في الذاكرة على JVM. يهدف إلى التوفيق بين الكتابة الثابتة في Kotlin والطبيعة الديناميكية للبيانات، باستخدام مكوّن إضافي تفاعلي للمترجم يقيّم تغييرات البنية في وقت الترجمة لتوفير وصول آمن للأنواع إلى الأعمدة.
الخصائص الرئيسية الموصوفة في ملف README:
- هرمي: يمثل البنى الهرمية مثل JSON أو أشجار كائنات JVM.
- وظيفي: خطوط المعالجة هي سلاسل من عمليات تحويل DataFrame.
- غير قابل للتغيير: كل عملية تُرجع DataFrame جديدًا، مع إعادة استخدام التخزين الأساسي حيثما أمكن.
- قابل للقراءة: تُعبَّر التحويلات بلغة DSL قريبة من اللغة الطبيعية.
- عملي: حلول بسيطة للمشكلات الشائعة بالإضافة إلى دعم المهام المعقدة.
- قابل للتشغيل المتبادل: قابل للتحويل مع فئات بيانات Kotlin والمجموعات، مما يسهل التحويل من وإلى هياكل المكتبات الأخرى.
- عام: يمكنه تخزين كائنات من أي نوع، وليس فقط الأرقام أو السلاسل.
- آمن للأنواع: توليد خصائص امتداد في الوقت الفعلي للوصول الآمن مع أمان القيم الفارغة.
- متعدد الأشكال: توافق الأنواع مشتق من توافق مخطط الأعمدة؛ يمكن للدوال أن تتطلب مجموعة فرعية من الأعمدة.
يتكامل مع Kotlin Notebook والبيئات الأخرى باستخدام Kotlin Jupyter Kernel (Datalore، Jupyter Notebook) عبر سطر السحر `%use dataframe`. يستشهد المشروع بالإلهام من krangl وKotlin Collections وpandas.
تغطي الوثائق دليل البدء السريع، والإعداد، ومخططات البيانات، وتكوين المكوّن الإضافي للمترجم، وقائمة كاملة بالعمليات المدعومة، بما في ذلك القراءة من قواعد بيانات SQL، وقراءة/كتابة JSON وCSV وApache Arrow، ودمج إطارات البيانات، وgroupBy، والعرض إلى HTML. التصور يتم عبر مكتبة الرسم المنفصلة Kandy.
تُعطى تعليمات الإعداد لـ Gradle وMaven وKotlin Toolchain، مع إحداثيات التبعية مثل `org.jetbrains.kotlinx:dataframe:1.0.0-rc01` من Maven Central، بالإضافة إلى ملاحظات حول تكوين المكوّن الإضافي للمترجم. يربط جدول التوافق إصدارات المكتبة بأدنى إصدارات Java وKotlin وKotlin Jupyter وApache Arrow وإصدارات المكوّن الإضافي للمترجم وإصدارات Kandy المتوافقة.
يُظهر مثال برمجي قراءة ملف CSV، والتحويل إلى مخطط مُنمّط، وإعادة تسمية الأعمدة، والتصفية حسب قيمة عمود، وتحويل عمود سلسلة إلى قائمة، وإضافة عمود محسوب، وكتابة النتيجة مرة أخرى إلى CSV.
المشروع مرخّص بموجب Apache 2.0 ويخضع لمدونة قواعد السلوك للمجتمع والمصادر المفتوحة من JetBrains.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.