| إدخال | إخراج | اسم مستعار |
|---|---|---|
| ✔ | ✗ |
الوصف
HiveText تنسيق التسلسل النصي المستخدم في جداول
Apache Hive (وهو التنسيق الذي ينتجه LazySimpleSerDe
في Hive). وهو تنسيق نصي مفصول بمحددات، يشبه CSV،
وتُفصل فيه الحقول باستخدام محدد Hive الافتراضي \x01 (Ctrl-A). ويمكن
تهيئة محدد الحقول عبر input_format_hive_text_fields_delimiter.
يُعد HiveText تنسيقًا للإدخال فقط. ولا تحتوي البيانات على صف ترويسة: إذ تُسنَد
القيم موضعيًا إلى أعمدة الجدول الوجهة، لذلك تُؤخذ أسماء الأعمدة وأنواعها من
الجدول (أو من البنية المقدَّمة صراحةً) بدلًا من استنتاجها من البيانات. وأثناء
القراءة، يعالج ClickHouse التواريخ والأوقات في وضع أفضل جهد (راجع
date_time_input_format)،
ويملأ الحقول اللاحقة المحذوفة بالقيم الافتراضية للأعمدة، ويتجاوز الحقول التي لا
يتعرف عليها.
داخل الحقل، تُحلَّل القيم باستخدام قواعد الإفلات نفسها الخاصة بـ CSV بدلًا
من محددات Hive المتداخلة. وعلى وجه الخصوص، يُقرأ العمود من النوع
Array من التمثيل المحاط بأقواس
(على سبيل المثال، "['a','b','c']")، وليس من القيم المفصولة بمحدد مجموعة
Hive وهو \x02.
إعدادات المحددات المتداخلة ليس لها أي تأثيريتم قبول الإعدادين
input_format_hive_text_collection_items_delimiter و
input_format_hive_text_map_keys_delimiter لأغراض التوافق،
لكن لا يُستخدمان حاليًا أثناء التحليل.input_format_hive_text_allow_variable_number_of_columns):
تُملأ الأعمدة المفقودة بالقيم الافتراضية في الصفوف التي تحتوي على حقول أقل من عدد
حقول الجدول، وتُتجاوز الحقول الزائدة اللاحقة في الصفوف التي تحتوي على حقول إضافية.
مثال على الاستخدام
input_format_hive_text_fields_delimiter لاستبدال محدد الحقول الافتراضي بفاصلة (,) حتى تكون ملفات
الإدخال أسهل قراءةً.
قراءة ملف HiveText
hive_data.txt يحتوي على حقول مفصولة بفواصل:
hive_data.txt
FORMAT HiveText:
Query
Response
1,3، يحتوي على حقلين فقط، لذا يُملأ العمود المفقود c
بقيمةِه الافتراضية 0.
عدد متغيّر من الأعمدة
input_format_hive_text_allow_variable_number_of_columns = 1،
فإن الصفوف التي تحتوي على حقول أكثر مما يحتويه الجدول تُتخطّى فيها ببساطة
الحقول الزائدة في النهاية:
hive_extras.txt
Query
Response
input_format_hive_text_allow_variable_number_of_columns = 0 بدلًا من ذلك
إلى فرض عدد صارم من الحقول، ويؤدي وجود صف بعدد حقول أقل من عدد حقول الجدول إلى حدوث
استثناء أثناء التحليل.
إعدادات التنسيق
| الإعداد | الوصف | الافتراضي |
|---|---|---|
input_format_hive_text_fields_delimiter | المحدد بين الحقول في Hive Text File | \x01 |
input_format_hive_text_collection_items_delimiter | المحدد بين عناصر المجموعة (array أو map) في Hive Text File. يُقبل هذا الإعداد، لكنه لا يُستخدم حاليًا أثناء التحليل. | \x02 |
input_format_hive_text_map_keys_delimiter | المحدد بين كل زوج مفتاح/قيمة في map في Hive Text File. يُقبل هذا الإعداد، لكنه لا يُستخدم حاليًا أثناء التحليل. | \x03 |
input_format_hive_text_allow_variable_number_of_columns | تجاهل الأعمدة الإضافية في مُدخل Hive Text (إذا كان الملف يحتوي على أعمدة أكثر من المتوقع)، واعتبار الحقول المفقودة قيماً افتراضية | 1 |