COPY INTO
ينطبق على: Databricks SQL Databricks Runtime
تحميل البيانات من موقع ملف إلى جدول Delta. هذه عملية قابلة لإعادة المحاولة وغير متكررة — يتم تخطي الملفات الموجودة في موقع المصدر التي تم تحميلها بالفعل. هذا صحيح حتى إذا تم تعديل الملفات منذ تحميلها. على سبيل المثال، راجع أنماط تحميل البيانات الشائعة باستخدام COPY INTO.
بناء الجملة
COPY INTO target_table [ BY POSITION | ( col_name [ , <col_name> ... ] ) ]
FROM { source_clause |
( SELECT expression_list FROM source_clause ) }
FILEFORMAT = data_source
[ VALIDATE [ ALL | num_rows ROWS ] ]
[ FILES = ( file_name [, ...] ) | PATTERN = glob_pattern ]
[ FORMAT_OPTIONS ( { data_source_reader_option = value } [, ...] ) ]
[ COPY_OPTIONS ( { copy_option = value } [, ...] ) ]
source_clause
source [ WITH ( [ CREDENTIAL { credential_name |
(temporary_credential_options) } ]
[ ENCRYPTION (encryption_options) ] ) ]
المعلمات
target_table
تعريف جدول Delta موجود. يجب ألا يتضمن target_table مواصفات زمنية.
إذا تم توفير اسم الجدول في شكل موقع، مثل:
delta.`/path/to/table`
، يمكن أن يحكم كتالوج Unity الوصول إلى المواقع التي تتم الكتابة إليها. يمكنك الكتابة إلى موقع خارجي عن طريق:- تعريف الموقع كموقع خارجي و منح
WRITE FILES
أذونات لهذا الموقع الخارجي. - وجود
WRITE FILES
أذونات على بيانات اعتماد تخزين مسماة توفر تخويلا للكتابة إلى موقع باستخدام:COPY INTO delta.`/some/location` WITH (CREDENTIAL <named-credential>)
راجع الاتصال بتخزين كائن السحابة باستخدام كتالوج Unity لمزيد من التفاصيل.
- تعريف الموقع كموقع خارجي و منح
BY POSITION
| ( col_name [ ، <col_name> ... ] )يطابق أعمدة المصدر مع أعمدة الجدول المستهدفة حسب الموضع الترتيبي. يتم تحويل نوع الأعمدة المتطابقة تلقائيا.
هذه المعلمة معتمدة فقط لتنسيق ملف CSV بدون عنوان. يجب تحديد
FILEFORMAT = CSV
.FORMAT_OPTIONS
يجب أيضا تعيين إلى("headers" = "false")
(FORMAT_OPTIONS ("headers" = "false")
هو الافتراضي).خيار بناء الجملة 1:
BY POSITION
- يطابق أعمدة المصدر مع أعمدة الجدول المستهدفة حسب الموضع الترتيبي تلقائيا.
- لا يتم استخدام مطابقة الاسم الافتراضية للمطابقة.
IDENTITY
يتم تجاهل أعمدة الجدول الهدف وأعمدةهGENERATED
عند مطابقة الأعمدة المصدر.- إذا كان عدد الأعمدة المصدر لا يساوي أعمدة الجدول الهدف التي تمت تصفيتها،
COPY INTO
فقم برفع خطأ.
خيار بناء الجملة 2:
( col_name [ , <col_name> ... ] )
- يطابق أعمدة المصدر بأعمدة الجدول الهدف المحددة حسب الموضع الترتيبي النسبي باستخدام قائمة اسم عمود الجدول الهدف بين أقواس، مفصولة بفاصلة.
- لا يتم استخدام ترتيب عمود الجدول الأصلي وأسماء الأعمدة للمطابقة.
IDENTITY
يتعذر تحديد الأعمدة والأعمدةGENERATED
في قائمة أسماء الأعمدة، وإلاCOPY INTO
فسيثير خطأ.- لا يمكن تكرار الأعمدة المحددة.
- عندما لا يساوي عدد أعمدة المصدر أعمدة الجدول المحددة،
COPY INTO
يحدث خطأ. - بالنسبة للأعمدة غير المحددة في قائمة أسماء الأعمدة،
COPY INTO
يعين القيم الافتراضية، إن وجدت، ويعينNULL
خلاف ذلك. إذا كان أي عمود غير قابل للقيمة الخالية،COPY INTO
يرفع خطأ.
- يطابق أعمدة المصدر مع أعمدة الجدول المستهدفة حسب الموضع الترتيبي تلقائيا.
source
موقع الملف لتحميل البيانات منه. يجب أن تحتوي الملفات الموجودة في هذا الموقع على التنسيق المحدد في
FILEFORMAT
. يتم توفير الموقع في شكل URI.يمكن توفير الوصول إلى موقع المصدر من خلال:
credential_name
اسم اختياري لبيانات الاعتماد المستخدمة للوصول إلى موقع التخزين أو الكتابة إليه. يمكنك استخدام بيانات الاعتماد هذه فقط إذا لم يكن موقع الملف مضمنا في موقع خارجي. راجع credential_name.
بيانات الاعتماد المؤقتة المضمنة.
تعريف موقع المصدر كموقع خارجي والاحتفاظ بأذونات
READ FILES
على الموقع الخارجي من خلال كتالوج Unity.استخدام بيانات اعتماد تخزين مسماة مع
READ FILES
أذونات توفر تخويلا للقراءة من موقع من خلال كتالوج Unity.
لا تحتاج إلى توفير بيانات اعتماد مضمنة أو مسماة إذا تم تعريف المسار بالفعل كموقع خارجي لديك أذونات لاستخدامه. راجع إنشاء موقع خارجي لتوصيل التخزين السحابي ب Azure Databricks لمزيد من التفاصيل.
إشعار
إذا كان مسار الملف المصدر مسار جذر، فيرجى إضافة شرطة مائلة (
/
) في نهاية مسار الملف، على سبيل المثال،s3://my-bucket/
.خيارات بيانات الاعتماد المقبولة هي:
AZURE_SAS_TOKEN
ل ADLS Gen2 وAzure Blob StorageAWS_ACCESS_KEY
وAWS_SECRET_KEY
و لAWS_SESSION_TOKEN
AWS S3
خيارات التشفير المقبولة هي:
TYPE = 'AWS_SSE_C'
، وMASTER_KEY
ل AWS S3
راجع تحميل البيانات باستخدام COPY INTO مع بيانات اعتماد مؤقتة.
SELECT expression_list
تحديد الأعمدة أو التعبيرات المحددة من البيانات المصدر قبل النسخ إلى جدول Delta. يمكن أن تكون التعبيرات أي شيء تستخدمه مع
SELECT
عبارات، بما في ذلك عمليات النافذة. يمكنك استخدام تعبيرات التجميع للتجميعات العمومية فقط- لاGROUP BY
يمكنك استخدام الأعمدة التي تحتوي على بناء الجملة هذا.FILEFORMAT = data_source
تنسيق الملفات المصدر المراد تحميلها. واحد من
CSV
،JSON
،AVRO
،ORC
،PARQUET
،TEXT
، .BINARYFILE
VALIDATE
ينطبق على: Databricks SQL Databricks Runtime 10.4 LTS وما فوق
يتم التحقق من صحة البيانات التي سيتم تحميلها في جدول ولكن لا تتم كتابتها في الجدول. تتضمن عمليات التحقق من الصحة هذه ما يلي:
- ما إذا كان يمكن تحليل البيانات.
- ما إذا كان المخطط يطابق مخطط الجدول أو إذا كان المخطط بحاجة إلى تطوير.
- ما إذا تم استيفاء جميع قيود قابلية القيم الخالية والتحقق منها.
الإعداد الافتراضي هو التحقق من صحة جميع البيانات التي سيتم تحميلها. يمكنك توفير عدد من الصفوف للتحقق من صحتها باستخدام
ROWS
الكلمة الأساسية، مثلVALIDATE 15 ROWS
.COPY INTO
ترجع العبارة معاينة لبيانات 50 صفا أو أقل عند استخدام عدد أقل من 50 معROWS
الكلمة الأساسية).FILES
قائمة بأسماء الملفات المراد تحميلها، بحد أقصى 1000 ملف. لا يمكن تحديد باستخدام
PATTERN
.PATTERN
نمط glob الذي يحدد الملفات المراد تحميلها من الدليل المصدر. لا يمكن تحديد باستخدام
FILES
.النمط الوصف ?
يتطابق مع أي حرف واحد *
يطابق صفرا أو أكثر من الأحرف [abc]
يطابق حرفا واحدا من مجموعة الأحرف {a,b,c}. [a-z]
يطابق حرفا واحدا من نطاق الأحرف {a... z}. [^a]
يطابق حرفا واحدا ليس من مجموعة أحرف أو نطاق {a}. لاحظ أنه ^
يجب أن يحدث الحرف على الفور إلى يمين قوس الفتح.{ab,cd}
يطابق سلسلة من مجموعة السلسلة {ab، cd}. {ab,c{de, fh}}
يطابق سلسلة من مجموعة السلسلة {ab، cde، cfh}. FORMAT_OPTIONS
خيارات لتمريرها إلى قارئ مصدر بيانات Apache Spark للتنسيق المحدد. راجع خيارات التنسيق لكل تنسيق ملف.
COPY_OPTIONS
خيارات للتحكم في تشغيل
COPY INTO
الأمر.force
: منطقي، افتراضيfalse
. إذا تم تعيين إلىtrue
، يتم تعطيل التكرار ويتم تحميل الملفات بغض النظر عما إذا كان قد تم تحميلها من قبل.mergeSchema
: منطقي، افتراضيfalse
. إذا تم تعيينه إلىtrue
، يمكن تطوير المخطط وفقا للبيانات الواردة.
COPY INTO
استدعاء بشكل متزامن
COPY INTO
يدعم الاستدعاءات المتزامنة مقابل نفس الجدول. طالما COPY INTO
يتم استدعاء بشكل متزامن على مجموعات مميزة من ملفات الإدخال، يجب أن ينجح كل استدعاء في النهاية، وإلا تحصل على تعارض في المعاملة. COPY INTO
وينبغي عدم الاستدعاء بشكل متزامن لتحسين الأداء؛ عادة ما يكون أداء أمر واحد COPY INTO
مع ملفات متعددة أفضل من تشغيل الأوامر المتزامنة COPY INTO
مع ملف واحد لكل منها. COPY INTO
يمكن استدعاؤها بشكل متزامن عندما:
- لا يملك منتجو البيانات المتعددون طريقة سهلة للتنسيق ولا يمكنهم إجراء استدعاء واحد.
- عندما يمكن استيعاب دليل فرعي كبير جدا بواسطة دليل فرعي. عند استيعاب الدلائل مع عدد كبير جدا من الملفات، توصي Databricks باستخدام أداة التحميل التلقائي عندما يكون ذلك ممكنا.
الوصول إلى بيانات تعريف الملف
لمعرفة كيفية الوصول إلى بيانات التعريف لمصادر البيانات المستندة إلى الملفات، راجع عمود بيانات تعريف الملف.
خيارات التنسيق
- خيارات عامة
JSON
خياراتCSV
خياراتXML
خياراتPARQUET
خياراتAVRO
خياراتBINARYFILE
خياراتTEXT
خياراتORC
خيارات
خيارات عامة
تنطبق الخيارات التالية على كافة تنسيقات الملفات.
خيار |
---|
ignoreCorruptFiles النوع: Boolean ما إذا كان سيتم تجاهل الملفات التالفة. إذا كان صحيحا، ستستمر مهام Spark في التشغيل عند مواجهة ملفات تالفة وسيتم إرجاع المحتويات التي تمت قراءتها. يمكن ملاحظته كما في numSkippedCorruptFiles operationMetrics عمود محفوظات Delta Lake. متوفر في Databricks Runtime 11.3 LTS وما فوق.قيمة افتراضية: false |
ignoreMissingFiles النوع: Boolean ما إذا كنت تريد تجاهل الملفات المفقودة. إذا كان صحيحا، ستستمر مهام Spark في التشغيل عند مواجهة الملفات المفقودة وسيتم إرجاع المحتويات التي تمت قراءتها. متوفر في Databricks Runtime 11.3 LTS وما فوق. القيمة الافتراضية: false (true ل COPY INTO ) |
modifiedAfter النوع: Timestamp String ، على سبيل المثال، 2021-01-01 00:00:00.000000 UTC+0 طابع زمني اختياري لاستيعاب الملفات التي تحتوي على طابع زمني للتعديل بعد الطابع الزمني المتوفر. القيمة الافتراضية: بلا |
modifiedBefore النوع: Timestamp String ، على سبيل المثال، 2021-01-01 00:00:00.000000 UTC+0 طابع زمني اختياري لاستيعاب الملفات التي تحتوي على طابع زمني للتعديل قبل الطابع الزمني المتوفر. القيمة الافتراضية: بلا |
pathGlobFilter أو fileNamePattern النوع: String نمط glob محتمل لتوفير لاختيار الملفات. مكافئ ل PATTERN في COPY INTO . fileNamePattern يمكن استخدامها في read_files .القيمة الافتراضية: بلا |
recursiveFileLookup النوع: Boolean ما إذا كان يجب تخطي استدلال القسم أثناء استنتاج المخطط. لا يؤثر هذا على الملفات التي يتم تحميلها. قيمة افتراضية: false |
JSON
خيارات
خيار |
---|
allowBackslashEscapingAnyCharacter النوع: Boolean ما إذا كان سيتم السماح بعلامات مائلة عكسية للهروب من أي حرف ينجح فيه. إذا لم يتم تمكينه، يمكن إلغاء الأحرف المدرجة بشكل صريح بواسطة مواصفات JSON. قيمة افتراضية: false |
allowComments النوع: Boolean ما إذا كنت تريد السماح باستخدام تعليقات أنماط Java وC وC++ ( '/' و '*' وأصناف '//' ) ضمن محتوى تم تحليله أم لا.قيمة افتراضية: false |
allowNonNumericNumbers النوع: Boolean ما إذا كنت تريد السماح بمجموعة الرموز المميزة غير الرقمية ( NaN ) كقيم أرقام عائمة قانونية.قيمة افتراضية: true |
allowNumericLeadingZeros النوع: Boolean ما إذا كنت تريد السماح للأرقام المتكاملة بالبدء بأصفار إضافية (يمكن تجاهلها) (على سبيل المثال، 000001 ).قيمة افتراضية: false |
allowSingleQuotes النوع: Boolean ما إذا كان يجب السماح باستخدام علامات الاقتباس المفردة (علامة اقتباس أحادية، حرف '\' ) لسلاسل الاقتباس (الأسماء وقيم السلسلة).قيمة افتراضية: true |
allowUnquotedControlChars النوع: Boolean ما إذا كنت تريد السماح لسلاسل JSON باحتواء أحرف تحكم غير مغلفة (أحرف ASCII بقيمة أقل من 32، بما في ذلك أحرف الجدولة وموجز الأسطر) أم لا. قيمة افتراضية: false |
allowUnquotedFieldNames النوع: Boolean ما إذا كان سيتم السماح باستخدام أسماء الحقول غير المدرجة (والتي يسمح بها JavaScript، ولكن ليس بواسطة مواصفات JSON). قيمة افتراضية: false |
badRecordsPath النوع: String مسار تخزين الملفات لتسجيل المعلومات حول سجلات JSON غير الصالحة. القيمة الافتراضية: بلا |
columnNameOfCorruptRecord النوع: String العمود الخاص بتخزين السجلات التي تم تكوينها بشكل غير جيد ولا يمكن تحليلها. mode إذا تم تعيين لتحليل ك DROPMALFORMED ، فسيكون هذا العمود فارغا.قيمة افتراضية: _corrupt_record |
dateFormat النوع: String تنسيق تحليل سلاسل التاريخ. قيمة افتراضية: yyyy-MM-dd |
dropFieldIfAllNull النوع: Boolean ما إذا كنت تريد تجاهل أعمدة كافة القيم الخالية أو الصفائف والبنى الفارغة أثناء استدلال المخطط. قيمة افتراضية: false |
encoding أو charset النوع: String اسم ترميز ملفات JSON. راجع java.nio.charset.Charset للحصول على قائمة الخيارات. لا يمكنك استخدام UTF-16 ومتى multiline UTF-32 يكون true .قيمة افتراضية: UTF-8 |
inferTimestamp النوع: Boolean ما إذا كنت تريد محاولة استنتاج سلاسل الطابع الزمني ك TimestampType . عند التعيين إلىtrue ، قد يستغرق استنتاج المخطط وقتا أطول بشكل ملحوظ. يجب تمكين cloudFiles.inferColumnTypes الاستخدام مع "المحمل التلقائي".قيمة افتراضية: false |
lineSep النوع: String سلسلة بين سجلي JSON متتاليين. القيمة الافتراضية: None، والتي تغطي \r و \r\n و \n |
locale النوع: String java.util.Locale معرف. يؤثر على التاريخ الافتراضي والطوابع الزمنية وتحليل المنازل العشرية داخل JSON.قيمة افتراضية: US |
mode النوع: String وضع المحلل حول معالجة السجلات التي تم تكوينها بشكل غير جيد. واحد من 'PERMISSIVE' ،'DROPMALFORMED' ، أو 'FAILFAST' .قيمة افتراضية: PERMISSIVE |
multiLine النوع: Boolean ما إذا كانت سجلات JSON تمتد عبر أسطر متعددة. قيمة افتراضية: false |
prefersDecimal النوع: Boolean يحاول استنتاج السلاسل بدلا DecimalType من النوع العائم أو المزدوج عندما يكون ذلك ممكنا. يجب عليك أيضا استخدام استنتاج المخطط، إما عن طريق تمكينinferSchema أو استخدام cloudFiles.inferColumnTypes مع أداة التحميل التلقائي.قيمة افتراضية: false |
primitivesAsString النوع: Boolean ما إذا كنت تريد استنتاج أنواع بدائية مثل الأرقام والقيم المنطقية ك StringType .قيمة افتراضية: false |
readerCaseSensitive النوع: Boolean تحديد سلوك حساسية الحالة عند rescuedDataColumn تمكينه. إذا كان صحيحا، فانقاذ أعمدة البيانات التي تختلف أسماؤها حسب الحالة عن المخطط؛ وإلا، اقرأ البيانات بطريقة غير حساسة لحالة الأحرف. متوفر في وقت تشغيل Databricks13.3 وما فوق. قيمة افتراضية: true |
rescuedDataColumn النوع: String ما إذا كنت تريد تجميع جميع البيانات التي لا يمكن تحليلها بسبب عدم تطابق نوع البيانات أو عدم تطابق المخطط (بما في ذلك غلاف العمود) إلى عمود منفصل. يتم تضمين هذا العمود بشكل افتراضي عند استخدام "المحمل التلقائي". لمزيد من التفاصيل، راجع ما هو عمود البيانات الذي تم إنقاذه؟. القيمة الافتراضية: بلا |
singleVariantColumn النوع: String ما إذا كنت تريد استيعاب مستند JSON بأكمله، يتم تحليله في عمود متغير واحد مع السلسلة المحددة كاسم العمود. إذا تم تعطيلها، إدخال حقول JSON في أعمدةها الخاصة. القيمة الافتراضية: بلا |
timestampFormat النوع: String تنسيق تحليل سلاسل الطابع الزمني. قيمة افتراضية: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone النوع: String java.time.ZoneId لاستخدامه عند تحليل الطوابع الزمنية والتواريخ.القيمة الافتراضية: بلا |
CSV
خيارات
خيار |
---|
badRecordsPath النوع: String مسار تخزين الملفات لتسجيل المعلومات حول سجلات CSV غير الصالحة. القيمة الافتراضية: بلا |
charToEscapeQuoteEscaping النوع: Char الحرف المستخدم للهروب من الحرف المستخدم للهروب من علامات الاقتباس. على سبيل المثال، للسجل التالي: : [ " a\\", b ] * إذا كان حرف الهروب '\' غير معرف، فلن يتم تحليل السجل. سيقرأ المحلل الأحرف: [a],[\],["],[,],[ ],[b] ويطرح خطأ لأنه لا يمكنه العثور على اقتباس إغلاق.* إذا تم تعريف '\' الحرف المطلوب إلغاء '\' ك ، ستتم قراءة السجل بقيمتي: [a\] و[b] .قيمة افتراضية: '\0' |
columnNameOfCorruptRecord > [! ملاحظة] >> مدعومة للتحميل التلقائي. غير مدعوم ل COPY INTO .النوع: String العمود الخاص بتخزين السجلات التي تم تكوينها بشكل غير جيد ولا يمكن تحليلها. mode إذا تم تعيين لتحليل ك DROPMALFORMED ، فسيكون هذا العمود فارغا.قيمة افتراضية: _corrupt_record |
comment النوع: Char تعريف الحرف الذي يمثل تعليق سطر عند العثور عليه في بداية سطر من النص. استخدم '\0' لتعطيل تخطي التعليق.قيمة افتراضية: '\u0000' |
dateFormat النوع: String تنسيق تحليل سلاسل التاريخ. قيمة افتراضية: yyyy-MM-dd |
emptyValue النوع: String تمثيل سلسلة لقيمة فارغة. قيمة افتراضية: "" |
encoding أو charset النوع: String اسم ترميز ملفات CSV. راجع java.nio.charset.Charset للحصول على قائمة الخيارات. UTF-16 ولا UTF-32 يمكن استخدامها عندما multiline تكون true .قيمة افتراضية: UTF-8 |
enforceSchema النوع: Boolean ما إذا كان سيتم تطبيق المخطط المحدد أو المستنتج قسرا على ملفات CSV. إذا تم تمكين الخيار، يتم تجاهل رؤوس ملفات CSV. يتم تجاهل هذا الخيار بشكل افتراضي عند استخدام Auto Loader لإنقاذ البيانات والسماح بتطور المخطط. قيمة افتراضية: true |
escape النوع: Char حرف الإلغاء المراد استخدامه عند تحليل البيانات. قيمة افتراضية: '\' |
header النوع: Boolean ما إذا كانت ملفات CSV تحتوي على عنوان. يفترض "المحمل التلقائي" أن الملفات تحتوي على رؤوس عند الاستدلال على المخطط. قيمة افتراضية: false |
ignoreLeadingWhiteSpace النوع: Boolean ما إذا كنت تريد تجاهل المسافات البيضاء البادئة لكل قيمة تم تحليلها. قيمة افتراضية: false |
ignoreTrailingWhiteSpace النوع: Boolean ما إذا كان سيتم تجاهل المسافات البيضاء اللاحقة لكل قيمة تم تحليلها. قيمة افتراضية: false |
inferSchema النوع: Boolean ما إذا كنت تريد استنتاج أنواع البيانات لسجلات CSV التي تم تحليلها أو افتراض أن جميع الأعمدة هي من StringType . يتطلب تمريرا إضافيا عبر البيانات إذا تم تعيينه إلى true . بالنسبة للتحميل التلقائي، استخدم cloudFiles.inferColumnTypes بدلا من ذلك.قيمة افتراضية: false |
lineSep النوع: String سلسلة بين سجلي CSV متتاليين. القيمة الافتراضية: None، والتي تغطي \r و \r\n و \n |
locale النوع: String java.util.Locale معرف. يؤثر على التاريخ الافتراضي والطوابع الزمنية وتحليل المنازل العشرية داخل CSV.قيمة افتراضية: US |
maxCharsPerColumn النوع: Int الحد الأقصى لعدد الأحرف المتوقعة من قيمة إلى تحليل. يمكن استخدامها لتجنب أخطاء الذاكرة. الإعدادات الافتراضية إلى -1 ، ما يعني غير محدود.قيمة افتراضية: -1 |
maxColumns النوع: Int الحد الثابت لعدد الأعمدة التي يمكن أن يحتويها السجل. قيمة افتراضية: 20480 |
mergeSchema النوع: Boolean ما إذا كنت تريد استنتاج المخطط عبر ملفات متعددة ودمج مخطط كل ملف. تمكين افتراضيا ل Auto Loader عند الاستدلال على المخطط. قيمة افتراضية: false |
mode النوع: String وضع المحلل حول معالجة السجلات التي تم تكوينها بشكل غير جيد. واحد من 'PERMISSIVE' ،'DROPMALFORMED' ، و 'FAILFAST' .قيمة افتراضية: PERMISSIVE |
multiLine النوع: Boolean ما إذا كانت سجلات CSV تمتد عبر أسطر متعددة. قيمة افتراضية: false |
nanValue النوع: String تمثيل السلسلة لقيمة غير رقمية عند التحليل FloatType والأعمدة DoubleType .قيمة افتراضية: "NaN" |
negativeInf النوع: String تمثيل سلسلة اللانهاية السالبة عند التحليل FloatType أو DoubleType الأعمدة.قيمة افتراضية: "-Inf" |
nullValue النوع: String تمثيل سلسلة لقيمة فارغة. قيمة افتراضية: "" |
parserCaseSensitive (مهمل)النوع: Boolean أثناء قراءة الملفات، ما إذا كنت تريد محاذاة الأعمدة المعلن عنها في الرأس مع حالة المخطط بشكل حساس. هذا true افتراضيا للتحميل التلقائي. سيتم إنقاذ الأعمدة التي تختلف حسب الحالة في rescuedDataColumn إذا تم تمكينها. تم إهمال هذا الخيار لصالح readerCaseSensitive .قيمة افتراضية: false |
positiveInf النوع: String تمثيل سلسلة اللانهاية الإيجابية عند التحليل FloatType أو DoubleType الأعمدة.قيمة افتراضية: "Inf" |
preferDate النوع: Boolean يحاول استنتاج السلاسل كتواريخ بدلا من الطابع الزمني عندما يكون ذلك ممكنا. يجب عليك أيضا استخدام استنتاج المخطط، إما عن طريق تمكين inferSchema أو استخدامcloudFiles.inferColumnTypes مع أداة التحميل التلقائي.قيمة افتراضية: true |
quote النوع: Char الحرف المستخدم لإفراد القيم حيث يكون محدد الحقل جزءا من القيمة. قيمة افتراضية: " |
readerCaseSensitive النوع: Boolean تحديد سلوك حساسية الحالة عند rescuedDataColumn تمكينه. إذا كان صحيحا، فانقاذ أعمدة البيانات التي تختلف أسماؤها حسب الحالة عن المخطط؛ وإلا، اقرأ البيانات بطريقة غير حساسة لحالة الأحرف.قيمة افتراضية: true |
rescuedDataColumn النوع: String ما إذا كنت تريد جمع جميع البيانات التي لا يمكن تحليلها بسبب: عدم تطابق نوع البيانات، و عدم تطابق المخطط (بما في ذلك غلاف العمود) إلى عمود منفصل. يتم تضمين هذا العمود بشكل افتراضي عند استخدام "المحمل التلقائي". لمزيد من التفاصيل راجع ما هو عمود البيانات الذي تم إنقاذه؟. القيمة الافتراضية: بلا |
sep أو delimiter النوع: String سلسلة الفاصل بين الأعمدة. قيمة افتراضية: "," |
skipRows النوع: Int عدد الصفوف من بداية ملف CSV التي يجب تجاهلها (بما في ذلك الصفوف المعلقة والفارغة). إذا كان header صحيحا، فسيكون العنوان هو أول صف غير مغطى وغير مرسل.قيمة افتراضية: 0 |
timestampFormat النوع: String تنسيق تحليل سلاسل الطابع الزمني. قيمة افتراضية: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] |
timeZone النوع: String java.time.ZoneId لاستخدامه عند تحليل الطوابع الزمنية والتواريخ.القيمة الافتراضية: بلا |
unescapedQuoteHandling النوع: String استراتيجية التعامل مع علامات الاقتباس غير المغلفة. الخيارات المسموح بها: * STOP_AT_CLOSING_QUOTE : إذا تم العثور على علامات اقتباس غير مغلفة في الإدخال، قم بتجميع حرف الاقتباس ومتابعة تحليل القيمة كقيمة مقتبسة، حتى يتم العثور على اقتباس إغلاق.* BACK_TO_DELIMITER : إذا تم العثور على علامات اقتباس غير مغلفة في الإدخال، ففكر في القيمة كقيمة غير مقتبسة. سيؤدي ذلك إلى تجميع المحلل لجميع أحرف القيمة الحالية التي تم تحليلها حتى يتم العثور على المحدد المحدد بواسطة sep . إذا لم يتم العثور على محدد في القيمة، فسيستمر المحلل في تجميع الأحرف من الإدخال حتى يتم العثور على محدد أو نهاية سطر.* STOP_AT_DELIMITER : إذا تم العثور على علامات اقتباس غير مغلفة في الإدخال، ففكر في القيمة كقيمة غير مقتبسة. سيؤدي هذا إلى جعل المحلل يتراكم كافة الأحرف حتى يتم العثور على المحدد المحدد بواسطة sep ، أو نهاية سطر في الإدخال.* SKIP_VALUE : إذا تم العثور على علامات اقتباس غير مغلفة في الإدخال، تخطي المحتوى الذي تم تحليله للقيمة المحددة (حتى يتم العثور على المحدد التالي) وسيتم إنتاج القيمة التي تم تعيينها في nullValue بدلا من ذلك.* RAISE_ERROR : إذا تم العثور على علامات اقتباس غير مغلفة في الإدخال، فTextParsingException سيتم طرحها.قيمة افتراضية: STOP_AT_DELIMITER |
XML
خيارات
خيار | الوصف | Scope |
---|---|---|
rowTag |
علامة الصف لملفات XML للتعامل معها كصف. في مثال XML <books> <book><book>...<books> ، القيمة المناسبة هي book . هذا خيار مطلوب. |
read |
samplingRatio |
تعريف جزء صغير من الصفوف المستخدمة لاستدلال المخطط. تتجاهل الدالات المضمنة في XML هذا الخيار. افتراضي: 1.0 . |
read |
excludeAttribute |
ما إذا كان سيتم استبعاد السمات في العناصر. افتراضي: false . |
read |
mode |
وضع التعامل مع السجلات التالفة أثناء التحليل.PERMISSIVE : بالنسبة للسجلات التالفة، يضع السلسلة التي تم تكوينها بشكل غير سليم في حقل تم تكوينه بواسطة columnNameOfCorruptRecord ، ويعين الحقول التي تم تكوينها بشكل غير سليم إلى null . للاحتفاظ بالسجلات التالفة، يمكنك تعيين string حقل نوع يسمى columnNameOfCorruptRecord في مخطط معرف من قبل المستخدم. إذا لم يكن المخطط يحتوي على الحقل، يتم إسقاط السجلات التالفة أثناء التحليل. عند الاستدلال على مخطط، يضيف المحلل ضمنيا حقلا columnNameOfCorruptRecord في مخطط إخراج.DROPMALFORMED : يتجاهل السجلات التالفة. هذا الوضع غير معتمد للوظائف المضمنة في XML.FAILFAST : يطرح استثناء عندما يفي المحلل بالسجلات التالفة. |
read |
inferSchema |
إذا true ، يحاول استنتاج نوع مناسب لكل عمود DataFrame الناتج. إذا كانت false جميع الأعمدة الناتجة من النوع ، فإن كل الأعمدة الناتجة هي من string النوع . الإعداد الافتراضي:true . تتجاهل الدالات المضمنة في XML هذا الخيار. |
read |
columnNameOfCorruptRecord |
يسمح بإعادة تسمية الحقل الجديد الذي يحتوي على سلسلة مشوهة تم إنشاؤها بواسطةPERMISSIVE طريقة. افتراضي: spark.sql.columnNameOfCorruptRecord . |
read |
attributePrefix |
بادئة السمات لتمييز السمات عن العناصر. ستكون هذه هي بادئة أسماء الحقول. القيمة الافتراضية هي _ . يمكن أن تكون فارغة لقراءة XML، ولكن ليس للكتابة. |
القراءة والكتابة |
valueTag |
العلامة المستخدمة لبيانات الأحرف داخل العناصر التي تحتوي أيضا على السمة (السمات) أو عناصر العناصر التابعة. يمكن للمستخدم تحديد valueTag الحقل في المخطط أو ستتم إضافته تلقائيا أثناء استنتاج المخطط عندما تكون بيانات الأحرف موجودة في عناصر مع عناصر أو سمات أخرى. الافتراضي: _VALUE |
قراءة وكتابة |
encoding |
للقراءة، قم بفك ترميز ملفات XML حسب نوع الترميز المحدد. للكتابة، يحدد ترميز (charset) لملفات XML المحفوظة. تتجاهل الدالات المضمنة في XML هذا الخيار. افتراضي: UTF-8 . |
القراءة والكتابة |
ignoreSurroundingSpaces |
يحدد ما إذا كان يجب تخطي المسافات البيضاء المحيطة من القيم التي تتم قراءتها. افتراضي: true . يتم تجاهل بيانات أحرف المسافة البيضاء فقط. |
read |
rowValidationXSDPath |
المسار إلى ملف XSD اختياري يستخدم للتحقق من صحة XML لكل صف على حدة. يتم التعامل مع الصفوف التي تفشل في التحقق من صحتها مثل أخطاء التحليل كما هو موضح أعلاه. لا يؤثر XSD على المخطط المقدم أو المستنتج. | read |
ignoreNamespace |
إذا true تم تجاهل بادئات مساحات الأسماء على عناصر XML والسمات. يتم التعامل مع العلامات <abc:author> و <def:author> ، على سبيل المثال، كما لو كان كلاهما فقط <author> . لا يمكن تجاهل مساحات الأسماء على rowTag العنصر، فقط توابع القراءة الخاصة به. تحليل XML ليس مدركا لمساحة الاسم حتى لو .false افتراضي: false . |
read |
timestampFormat |
سلسلة تنسيق الطابع الزمني المخصصة التي تتبع تنسيق نمط التاريخ والوقت. ينطبق هذا على timestamp النوع. افتراضي: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX] . |
القراءة والكتابة |
timestampNTZFormat |
سلسلة تنسيق مخصصة للطوابع الزمنية دون المنطقة الزمنية التي تتبع تنسيق نمط التاريخ والوقت. ينطبق هذا على نوع TimestampNTZType. الإعداد الافتراضي:yyyy-MM-dd'T'HH:mm:ss[.SSS] |
القراءة والكتابة |
dateFormat |
سلسلة تنسيق التاريخ المخصصة التي تتبع تنسيق نمط التاريخ والوقت. ينطبق هذا على نوع التاريخ. افتراضي: yyyy-MM-dd . |
القراءة والكتابة |
locale |
تعيين إعدادات محلية كعلامة لغة بتنسيق IETF BCP 47. على سبيل المثال، locale يستخدم أثناء تحليل التواريخ والطوابع الزمنية. افتراضي: en-US . |
read |
rootTag |
علامة الجذر لملفات XML. على سبيل المثال، في <books> <book><book>...</books> ، القيمة المناسبة هي books . يمكنك تضمين السمات الأساسية عن طريق تحديد قيمة مثل books foo="bar" . افتراضي: ROWS . |
write |
declaration |
محتوى إعلان XML للكتابة في بداية كل ملف XML للإخراج، قبل rootTag . على سبيل المثال، قيمة الأسباب foo التي <?xml foo?> يجب كتابتها. تعيين إلى سلسلة فارغة لمنع. الافتراضي: version="1.0" encoding="UTF-8" standalone="yes" . |
write |
arrayElementName |
اسم عنصر XML الذي يحيط بكل عنصر من أعمدة ذات قيمة صفيف عند الكتابة. افتراضي: item . |
write |
nullValue |
تعيين تمثيل السلسلة لقيمة خالية. الافتراضي: سلسلة null . عندما يكون هذا هو null ، لا يكتب المحلل السمات والعناصر للحولات. |
القراءة والكتابة |
compression |
ضغط التعليمات البرمجية لاستخدامها عند الحفظ في ملف. يمكن أن يكون هذا أحد الأسماء المختصرة المعروفة غير الحساسة لحالة الأحرف (none وlz4 bzip2 gzip و و snappy و وdeflate ). تتجاهل الدالات المضمنة في XML هذا الخيار. افتراضي: none . |
write |
validateName |
إذا كان صحيحا، يطرح خطأ في فشل التحقق من صحة اسم عنصر XML. على سبيل المثال، يمكن أن تحتوي أسماء حقول SQL على مسافات، ولكن لا يمكن لأسماء عناصر XML. الإعداد الافتراضي:true . |
write |
readerCaseSensitive |
يحدد سلوك حساسية الحالة عند تمكين rescuedDataColumn. إذا كان صحيحا، فانقاذ أعمدة البيانات التي تختلف أسماؤها حسب الحالة عن المخطط؛ وإلا، اقرأ البيانات بطريقة غير حساسة لحالة الأحرف. افتراضي: true . |
read |
rescuedDataColumn |
ما إذا كنت تريد تجميع جميع البيانات التي لا يمكن تحليلها بسبب عدم تطابق نوع البيانات وتعذر تطابق المخطط (بما في ذلك غلاف العمود) إلى عمود منفصل. يتم تضمين هذا العمود بشكل افتراضي عند استخدام "المحمل التلقائي". لمزيد من التفاصيل، راجع ما هو عمود البيانات الذي تم إنقاذه؟. الافتراضي: بلا. | read |
PARQUET
خيارات
خيار |
---|
datetimeRebaseMode النوع: String يتحكم في إعادة بناء قيم DATE و TIMESTAMP بين التقويمات الميلادية جوليان و Proleptic. القيم المسموح بها: EXCEPTION و LEGACY وCORRECTED .قيمة افتراضية: LEGACY |
int96RebaseMode النوع: String يتحكم في إعادة بناء قيم الطابع الزمني INT96 بين التقويمين الميلادي جوليان وبرولبتك. القيم المسموح بها: EXCEPTION و LEGACY وCORRECTED .قيمة افتراضية: LEGACY |
mergeSchema النوع: Boolean ما إذا كنت تريد استنتاج المخطط عبر ملفات متعددة ودمج مخطط كل ملف. قيمة افتراضية: false |
readerCaseSensitive النوع: Boolean تحديد سلوك حساسية الحالة عند rescuedDataColumn تمكينه. إذا كان صحيحا، فانقاذ أعمدة البيانات التي تختلف أسماؤها حسب الحالة عن المخطط؛ وإلا، اقرأ البيانات بطريقة غير حساسة لحالة الأحرف.قيمة افتراضية: true |
rescuedDataColumn النوع: String ما إذا كنت تريد جمع جميع البيانات التي لا يمكن تحليلها بسبب: عدم تطابق نوع البيانات، و عدم تطابق المخطط (بما في ذلك غلاف العمود) إلى عمود منفصل. يتم تضمين هذا العمود بشكل افتراضي عند استخدام "المحمل التلقائي". لمزيد من التفاصيل راجع ما هو عمود البيانات الذي تم إنقاذه؟. القيمة الافتراضية: بلا |
AVRO
خيارات
خيار |
---|
avroSchema النوع: String مخطط اختياري يوفره مستخدم بتنسيق Avro. عند قراءة Avro، يمكن تعيين هذا الخيار إلى مخطط متطور، وهو متوافق ولكن مختلف مع مخطط Avro الفعلي. سيكون مخطط إلغاء التسلسل متسقا مع المخطط المتطور. على سبيل المثال، إذا قمت بتعيين مخطط متطور يحتوي على عمود إضافي واحد بقيمة افتراضية، فستحتوي نتيجة القراءة على العمود الجديد أيضا. القيمة الافتراضية: بلا |
datetimeRebaseMode النوع: String يتحكم في إعادة بناء قيم DATE و TIMESTAMP بين التقويمات الميلادية جوليان و Proleptic. القيم المسموح بها: EXCEPTION و LEGACY وCORRECTED .قيمة افتراضية: LEGACY |
mergeSchema النوع: Boolean ما إذا كنت تريد استنتاج المخطط عبر ملفات متعددة ودمج مخطط كل ملف. mergeSchema بالنسبة ل Avro لا يخفف أنواع البيانات.قيمة افتراضية: false |
readerCaseSensitive النوع: Boolean تحديد سلوك حساسية الحالة عند rescuedDataColumn تمكينه. إذا كان صحيحا، فانقاذ أعمدة البيانات التي تختلف أسماؤها حسب الحالة عن المخطط؛ وإلا، اقرأ البيانات بطريقة غير حساسة لحالة الأحرف.قيمة افتراضية: true |
rescuedDataColumn النوع: String ما إذا كنت تريد جمع جميع البيانات التي لا يمكن تحليلها بسبب: عدم تطابق نوع البيانات، و عدم تطابق المخطط (بما في ذلك غلاف العمود) إلى عمود منفصل. يتم تضمين هذا العمود بشكل افتراضي عند استخدام "المحمل التلقائي". لمزيد من التفاصيل راجع ما هو عمود البيانات الذي تم إنقاذه؟. القيمة الافتراضية: بلا |
BINARYFILE
خيارات
لا تحتوي الملفات الثنائية على أي خيارات تكوين إضافية.
TEXT
خيارات
خيار |
---|
encoding النوع: String اسم ترميز ملفات TEXT. راجع java.nio.charset.Charset للحصول على قائمة الخيارات.قيمة افتراضية: UTF-8 |
lineSep النوع: String سلسلة بين سجلي TEXT متتاليين. القيمة الافتراضية: None، والتي تغطي \r و \r\n \n |
wholeText النوع: Boolean ما إذا كنت تريد قراءة ملف كسجل واحد. قيمة افتراضية: false |
ORC
خيارات
خيار |
---|
mergeSchema النوع: Boolean ما إذا كنت تريد استنتاج المخطط عبر ملفات متعددة ودمج مخطط كل ملف. قيمة افتراضية: false |