الانتقال إلى المحتوى الرئيسي
يسمح بمعالجة الملفات من HDFS بالتوازي من العديد من العُقد في عنقود محدد. على العقدة المُبادِرة، يُنشئ اتصالًا بجميع العُقد في العنقود، ويوسّع علامات النجمة في مسار ملف HDFS، ثم يوزّع كل ملف ديناميكيًا. وعلى العقدة العاملة، يطلب من العقدة المُبادِرة المهمة التالية المطلوب معالجتها ثم يعالجها. ويتكرر ذلك حتى تكتمل جميع المهام.

الصياغة

hdfsCluster(cluster_name, URI, format, structure)

المعاملات

ArgumentDescription
cluster_nameاسم عنقود يُستخدم لإنشاء مجموعة من العناوين ومعلمات الاتصال للخوادم البعيدة والمحلية.
URIURI لملف أو لمجموعة من الملفات. يدعم أحرف البدل التالية في وضع القراءة فقط: *, **, ?, {'abc','def'} و {N..M}، حيث إن N وM — أرقام، وabc وdef — سلاسل نصية. لمزيد من المعلومات، راجع أحرف البدل في المسار.
formatتنسيق الملف.
structureبنية الجدول. التنسيق: 'column1_name column1_type, column2_name column2_type, ...'.

القيمة المعادة

جدول بالبنية المحددة لقراءة البيانات من الملف المحدد.

أمثلة

  1. افترض أن لدينا عنقود ClickHouse باسم cluster_simple، وعدة ملفات ذات عناوين URI التالية على HDFS:
  • ‘hdfs://hdfs1:9000/some_dir/some_file_1’
  • ‘hdfs://hdfs1:9000/some_dir/some_file_2’
  • ‘hdfs://hdfs1:9000/some_dir/some_file_3’
  • ‘hdfs://hdfs1:9000/another_dir/some_file_1’
  • ‘hdfs://hdfs1:9000/another_dir/some_file_2’
  • ‘hdfs://hdfs1:9000/another_dir/some_file_3’
  1. استعلم عن عدد الصفوف في هذه الملفات:
SELECT count(*)
FROM hdfsCluster('cluster_simple', 'hdfs://hdfs1:9000/{some,another}_dir/some_file_{1..3}', 'TSV', 'name String, value UInt32')
  1. استعلم عن عدد الصفوف في جميع ملفات هذين الدليلين:
SELECT count(*)
FROM hdfsCluster('cluster_simple', 'hdfs://hdfs1:9000/{some,another}_dir/*', 'TSV', 'name String, value UInt32')
إذا كانت قائمة ملفاتك تتضمن نطاقات رقمية تبدأ بأصفار، فاستخدم الصيغة ذات الأقواس لكل رقم على حدة أو استخدم ?.
آخر تعديل في ٢٥ يونيو ٢٠٢٦