يسمح بمعالجة الملفات من URL بالتوازي من عدة عقد في عنقود محدد. على العقدة البادئة، يُنشئ اتصالًا بجميع العقد في العنقود، ويُوسّع علامة النجمة في مسار ملف URL، ثم يوزّع كل ملف ديناميكيًا. وعلى العقدة العاملة، يطلب من العقدة البادئة المهمة التالية لمعالجتها ثم يعالجها. ويتكرر ذلك حتى تكتمل جميع المهام.
urlCluster(cluster_name, URL, format, structure)
| الوسيطة | الوصف |
|---|
cluster_name | اسم عنقود يُستخدم لتكوين مجموعة من العناوين ومعلمات الاتصال للخوادم البعيدة والمحلية. |
URL | عنوان خادم HTTP أو HTTPS يمكنه قبول طلبات GET. النوع: String. |
format | تنسيق البيانات. النوع: String. |
structure | بنية الجدول بالتنسيق 'UserID UInt64, Name String'. وهي تحدد أسماء الأعمدة وأنواعها. النوع: String. |
جدول بالتنسيق والبنية المحددَين، ويتضمن بيانات من URL المحدد.
الحصول على أول 3 أسطر من جدول يحتوي على أعمدة من النوع String وUInt32 من خادم HTTP يستجيب بتنسيق CSV.
- أنشئ خادم HTTP بسيطًا باستخدام أدوات بايثون 3 القياسية، ثم ابدأ تشغيله:
from http.server import BaseHTTPRequestHandler, HTTPServer
class CSVHTTPServer(BaseHTTPRequestHandler):
def do_GET(self):
self.send_response(200)
self.send_header('Content-type', 'text/csv')
self.end_headers()
self.wfile.write(bytes('Hello,1\nWorld,2\n', "utf-8"))
if __name__ == "__main__":
server_address = ('127.0.0.1', 12345)
HTTPServer(server_address, CSVHTTPServer).serve_forever()
SELECT * FROM urlCluster('cluster_simple','http://127.0.0.1:12345', CSV, 'column1 String, column2 UInt32')
تُستخدم الأنماط ضمن { } لإنشاء مجموعة من الأجزاء (shards) أو لتحديد عناوين التبديل الاحتياطي. للاطلاع على أنواع الأنماط المدعومة وأمثلتها، راجع وصف الدالة remote.
يُستخدم الحرف | داخل الأنماط لتحديد عناوين التبديل الاحتياطي. ويجري المرور عليها بالترتيب نفسه الذي ترد به في النمط. ويكون عدد العناوين المُنشأة محدودًا بإعداد glob_expansion_max_elements.
آخر تعديل في ٢٥ يونيو ٢٠٢٦