SELECT وINSERT البيانات من Google Cloud Storage. ويتطلب دور IAM Storage Object User.
هذا اسم مستعار لـ دالة الجدول s3.
إذا كان لديك عدة نُسخ متماثلة في العنقود، فيمكنك استخدام الدالة s3Cluster (التي تعمل مع GCS) بدلًا من ذلك لتنفيذ عمليات INSERT بشكل متوازٍ.
البنية
الوسيطات
GCSيأتي مسار GCS بهذا التنسيق لأن نقطة النهاية الخاصة بـ Google XML API تختلف عن JSON API:وليس https://storage.cloud.google.com.
url و format و structure و compression_method و partition_strategy بالطريقة نفسها، مع دعم بعض المعلمات الإضافية:
القيمة المُعادة
أمثلة
https://storage.googleapis.com/clickhouse_public_datasets/my-test-bucket-768/data.csv.gz. تُكتشَف أسلوب الضغط تلقائيًا من امتداد الملف .gz:
gzip صراحةً بدلًا من الاعتماد على الاكتشاف التلقائي:
الاستخدام
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_1.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_2.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_3.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/some_prefix/some_file_4.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_1.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_2.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_3.csv'
- ‘https://storage.googleapis.com/my-test-bucket-768/another_prefix/some_file_4.csv'
file-000.csv وfile-001.csv و… وfile-999.csv:
test-data.csv.gz:
test-data.csv.gz من جدولٍ موجود:
my-test-bucket-768 على نحو متكرر:
test-data.csv.gz الموجودة في أي مجلد داخل الدليل my-test-bucket، بشكلٍ تكراري:
الكتابة المقسّمة حسب التقسيمات
PARTITION BY عند إدراج البيانات في جدول GCS، فسيُنشأ ملف منفصل لكل قيمة تقسيم. ويساعد تقسيم البيانات إلى ملفات منفصلة على تحسين كفاءة عمليات القراءة.
يشير المسار الذي يحتوي على {_partition_id} إلى استراتيجية التقسيم wildcard، لذا فإن تحديد partition_strategy='wildcard' صراحةً في الأمثلة أدناه اختياري. لا يستخدم المسار الذي يحتوي على نمط glob آخر أي استراتيجية تقسيم ويتجاهل PARTITION BY. يستخدم المسار الذي لا يحتوي على نمط glob استراتيجية hive عندما تكون قيمة file_like_engine_default_partition_strategy هي hive؛ وإلا فلن يستخدم أي استراتيجية تقسيم.
أمثلة
- يؤدي استخدام معرّف التقسيم في المفتاح إلى إنشاء ملفات منفصلة:
file_x.csv وfile_y.csv وfile_z.csv.
- يؤدي استخدام معرّف التقسيم في اسم الحاوية إلى إنشاء ملفات في حاويات مختلفة:
my_bucket_1/file.csv وmy_bucket_10/file.csv وmy_bucket_20/file.csv.