COPY INTO

ينطبق على:وضع علامة Databricks SQL وضع علامة Databricks Runtime

تحميل البيانات من موقع ملف إلى جدول Delta. هذه عملية قابلة لإعادة المحاولة وغير متكررة — يتم تخطي الملفات الموجودة في موقع المصدر التي تم تحميلها بالفعل. على سبيل المثال، راجع أنماط تحميل البيانات الشائعة باستخدام COPY INTO.

بناء الجملة

COPY INTO target_table
  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 لمزيد من التفاصيل.

  • 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 Storage
    • AWS_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 باستخدام أداة التحميل التلقائي عندما يكون ذلك ممكنا.

الوصول إلى بيانات تعريف الملف

لمعرفة كيفية الوصول إلى بيانات التعريف لمصادر البيانات المستندة إلى الملفات، راجع عمود بيانات تعريف الملف.

خيارات التنسيق

خيارات عامة

تنطبق الخيارات التالية على كافة تنسيقات الملفات.

خيار
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 ومتى multilineUTF-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 تمكينه. إذا كان صحيحا، فانقاذ أعمدة البيانات التي تختلف أسماؤها حسب الحالة عن المخطط؛ وإلا، اقرأ البيانات بطريقة غير حساسة لحالة الأحرف. متوفر في وقت تشغيل Databricks
13.3 وما فوق.

قيمة افتراضية: true
rescuedDataColumn

النوع: String

ما إذا كنت تريد تجميع جميع البيانات التي لا يمكن تحليلها بسبب عدم تطابق نوع البيانات أو عدم تطابق المخطط (بما في ذلك غلاف العمود) إلى عمود منفصل. يتم تضمين هذا العمود بشكل افتراضي عند استخدام "المحمل التلقائي". لمزيد من التفاصيل، راجع ما هو عمود البيانات الذي تم إنقاذه؟.

القيمة الافتراضية: بلا
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, bzip2, gzip, snappy', and<br>deflatelz4'). تتجاهل الدالات المضمنة في 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