الانتقال إلى المحتوى الرئيسي
دوال الجداول هي أساليب لإنشاء الجداول.
الصفحةالوصف
azureBlobStorageيوفّر واجهة شبيهة بالجدول لتنفيذ select/insert على الملفات في Azure Blob Storage. وهو مشابه للدالة s3.
azureBlobStorageClusterيتيح معالجة الملفات من Azure Blob Storage بالتوازي باستخدام العديد من العُقد في عنقود محدد.
clusterAllReplicasيتيح الوصول إلى جميع الشظايا (المُعدّة في قسم remote_servers) في عنقود ما دون إنشاء جدول Distributed.
deltaLakeيوفّر واجهة شبيهة بالجدول للقراءة فقط إلى جداول DeltaLake في Amazon S3.
deltaLakeClusterهذا امتداد لدالة الجدول deltaLake.
dictionaryيعرض بيانات Dictionary كجدول ClickHouse. ويعمل بالطريقة نفسها التي يعمل بها محرك Dictionary.
executableتنشئ دالة الجدول executable جدولًا استنادًا إلى مخرجات دالة معرّفة من المستخدم (UDF) تعرّفها في برنامج نصي يُخرج الصفوف إلى stdout.
fileمحرك جدول يوفّر واجهة شبيهة بالجدول لتنفيذ SELECT من الملفات وINSERT إليها، على نحو مشابه لدالة الجدول s3. استخدم file عند العمل مع الملفات المحلية، وs3 عند العمل مع الحاويات في التخزين الكائني مثل S3 أو GCS أو MinIO.
fileClusterيتيح المعالجة المتزامنة للملفات المطابقة لمسار محدد عبر عدة عُقد داخل عنقود. تنشئ العقدة البادئة اتصالات مع العقد العاملة، وتوسّع أنماط glob في مسار الملف، وتفوّض مهام قراءة الملفات إلى العقد العاملة. وتستعلم كل عقدة عاملة من العقدة البادئة عن الملف التالي لمعالجته، ويتكرر ذلك حتى تكتمل جميع المهام (أي تُقرأ كل الملفات).
filesystemيوفّر الوصول إلى نظام الملفات لسرد الملفات وإرجاع بياناتها الوصفية ومحتوياتها.
formatيحلّل البيانات من الوسائط وفقًا لتنسيق الإدخال المحدد. وإذا لم تُحدَّد وسيطة البنية، فستُستخرج من البيانات.
gcsيوفّر واجهة شبيهة بالجدول لـ SELECT وINSERT البيانات من Google Cloud Storage. ويتطلب دور IAM Storage Object User.
fuzzQueryيُحدث تغييرات عشوائية في سلسلة الاستعلام المعطاة.
fuzzJSONيُحدث تغييرات عشوائية في سلسلة JSON.
generateRandomيولّد بيانات عشوائية وفق مخطط معيّن. ويتيح ملء جداول الاختبار بهذه البيانات. ليست كل الأنواع مدعومة.
mergeTreeTextIndexيمثّل Dictionary لفهرس نصي في جدول MergeTree. ويمكن استخدامه للفحص الداخلي.
mergeTreeProjectionيمثّل محتويات بعض projection في جداول MergeTree. ويمكن استخدامه للفحص الداخلي.
mergeTreeIndexيمثّل محتويات الفهرس وملفات العلامات الخاصة بجداول MergeTree. ويمكن استخدامه للفحص الداخلي.
hdfsينشئ جدولًا من ملفات في HDFS. ودالة الجدول هذه مشابهة لدالتي الجدول url وfile.
hdfsClusterيتيح معالجة الملفات من HDFS بالتوازي باستخدام العديد من العُقد في عنقود محدد.
hudiيوفّر واجهة شبيهة بالجدول للقراءة فقط إلى جداول Apache Hudi في Amazon S3.
ytsaurusتتيح دالة الجدول قراءة البيانات من عنقود YTsaurus.
hudiCluster Table Functionامتداد لدالة الجدول hudi. ويتيح معالجة الملفات من جداول Apache Hudi في Amazon S3 بالتوازي باستخدام العديد من العُقد في عنقود محدد.
icebergيوفّر واجهة شبيهة بالجدول للقراءة فقط إلى جداول Apache Iceberg في Amazon S3 أو Azure أو HDFS أو المخزّنة محليًا.
paimonيوفّر واجهة شبيهة بالجدول للقراءة فقط إلى جداول Apache Paimon في Amazon S3 أو Azure أو HDFS أو المخزّنة محليًا.
icebergClusterامتداد لدالة الجدول iceberg يتيح معالجة الملفات من Apache Iceberg بالتوازي باستخدام العديد من العُقد في عنقود محدد.
paimonClusterامتداد لدالة الجدول paimon يتيح معالجة الملفات من Apache Paimon بالتوازي باستخدام العديد من العُقد في عنقود محدد.
inputدالة جدول تتيح تحويل البيانات المرسلة إلى الخادم ببنية معينة وإدراجها بكفاءة في جدول ذي بنية أخرى.
jdbcتُرجع جدولًا متصلًا عبر JDBC driver.
mergeينشئ جدول Merge مؤقتًا. وسيُشتق التركيب من الجداول الأساسية باستخدام اتحاد أعمدتها واستنتاج الأنواع المشتركة.
mongodbيتيح تنفيذ استعلامات SELECT على البيانات المخزنة على خادم MongoDB بعيد.
mysqlيتيح تنفيذ استعلامات SELECT و INSERT على البيانات المخزنة على خادم MySQL بعيد.
nullينشئ جدولًا مؤقتًا بالبنية المحددة باستخدام محرك الجدول Null. تُستخدم هذه الدالة لتسهيل كتابة الاختبارات والعروض التوضيحية.
timeSeriesMetricsتُرجع timeSeriesMetrics جدول المقاييس الذي يستخدمه الجدول db_name.time_series_table ذي محرك الجدول TimeSeries.
timeSeriesSelectorيقرأ السلاسل الزمنية من جدول TimeSeries بعد تصفيتها بواسطة محدِّد، ومع طوابع زمنية ضمن فاصل زمني محدد.
timeSeriesTagsتُرجع دالة الجدول timeSeriesTags جدول الوسوم الذي يستخدمه الجدول db_name.time_series_table ذي محرك الجدول TimeSeries.
prometheusQueryRangeيقيّم استعلام prometheus باستخدام بيانات من جدول TimeSeries.
zerosتُستخدم لأغراض الاختبار بوصفها أسرع طريقة لتوليد عدد كبير من الصفوف. وهي مشابهة لجدولي النظام system.zeros و system.zeros_mt.
primesتُرجع جدولًا يحتوي على عمود واحد باسم prime يتضمن الأعداد الأولية.
numbersتُرجع جدولًا يحتوي على عمود واحد باسم number يتضمن تسلسلًا من الأعداد الصحيحة.
prometheusQueryيقيّم استعلام prometheus باستخدام بيانات من جدول TimeSeries.
timeSeriesSamplesتُرجع timeSeriesSamples جدول العينات الذي يستخدمه الجدول db_name.time_series_table ذي محرك الجدول TimeSeries.
generate_series (generateSeries)تُرجع جدولًا يحتوي على عمود واحد باسم generate_series ‏(UInt64) يتضمن أعدادًا صحيحة من البداية إلى النهاية، شاملًا القيمتين.
odbcتُرجع الجدول المتصل عبر ODBC.
postgresqlيتيح تنفيذ استعلامات SELECT و INSERT على البيانات المخزنة على خادم PostgreSQL بعيد.
redisتتيح دالة الجدول هذه تكامل ClickHouse مع Redis.
remote, remoteSecureتتيح دالة الجدول remote الوصول إلى الخوادم البعيدة عند الطلب، أي من دون إنشاء جدول موزّع. أما دالة الجدول remoteSecure فهي مثل remote ولكن عبر اتصال آمن.
s3 Table Functionتوفّر واجهة شبيهة بالجدول لاختيار الملفات أو إدراجها في Amazon S3 و Google Cloud Storage. دالة الجدول هذه مشابهة للدالة hdfs، لكنها توفّر ميزات خاصة بـ S3.
s3Clusterامتداد لدالة الجدول s3، يتيح معالجة الملفات من Amazon S3 و Google Cloud Storage بالتوازي عبر عدد من العقد ضمن cluster محدد.
sqliteيتيح تنفيذ استعلامات على البيانات المخزنة في قاعدة بيانات SQLite.
arrowFlightيتيح القراءة من البيانات المعروضة عبر خادم Apache Arrow Flight والكتابة إليها.
urlينشئ جدولًا من URL باستخدام format و structure المحددين
urlClusterيتيح معالجة الملفات من URL بالتوازي عبر عدد من العقد ضمن cluster محدد.
viewيحوّل استعلامًا فرعيًا إلى جدول. تنفّذ هذه الدالة views.
valuesينشئ مساحة تخزين مؤقتة تملأ الأعمدة بالقيم.
loopتُستخدم دالة الجدول loop في ClickHouse لإرجاع نتائج الاستعلام في حلقة لا نهائية.

الاستخدام

يمكن استخدام دوال الجداول في العبارة FROM ضمن استعلام SELECT. على سبيل المثال، يمكنك استخدام SELECT لقراءة البيانات من ملف على جهازك المحلي باستخدام دالة الجدول file.
Query
echo "1, 2, 3" > example.csv
Response
./clickhouse client
:) SELECT * FROM file('example.csv')
┌─c1─┬─c2─┬─c3─┐
│  1 │  2 │  3 │
└────┴────┴────┘
يمكنك أيضًا استخدام دوال الجداول لإنشاء جدول مؤقت لا يكون متاحًا إلا في الاستعلام الحالي. على سبيل المثال:
Query
SELECT * FROM generateSeries(1,5);
Response
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
يُحذف الجدول عند انتهاء الاستعلام. يمكن استخدام دوال الجداول لإنشاء الجداول، وفق الصياغة التالية:
Query
CREATE TABLE [IF NOT EXISTS] [db.]table_name AS table_function()
على سبيل المثال:
Query
CREATE TABLE series AS generateSeries(1, 5);
SELECT * FROM series;
Response
┌─generate_series─┐
│               1 │
│               2 │
│               3 │
│               4 │
│               5 │
└─────────────────┘
أخيرًا، يمكن أيضًا استخدام دوال الجداول لتنفيذ INSERT للبيانات إلى جدول. على سبيل المثال، يمكننا كتابة محتويات الجدول الذي أنشأناه في المثال السابق إلى ملف على القرص باستخدام دالة الجدول file مرة أخرى:
Query
INSERT INTO FUNCTION file('numbers.csv', 'CSV') SELECT * FROM series;
Query
cat numbers.csv
1
2
3
4
5
لا يمكنك استخدام دوال الجداول إذا كان الإعداد allow_ddl معطّلًا.
آخر تعديل في ٢٥ يونيو ٢٠٢٦