نسخ إلى (SQL داتابريك)

تحميل البيانات من موقع ملف إلى جدول دلتا. هذه عملية قابلة لإعادة المحاولة و idempotent - يتم تخطي الملفات الموجودة في الموقع المصدر التي تم تحميلها بالفعل.

بناء الجملة

COPY INTO table_name [ credential_spec ]
  FROM [ file_location [ credential_spec ] |
         ( SELECT expression_list FROM file_location [ credential_spec ] ) ]
  FILEFORMAT = data_source
  [ VALIDATE [ ALL | num_rows ROWS ] ]
  [ FILES = ( file_name [, ...] ) | PATTERN = regex_pattern ]
  [ FORMAT_OPTIONS ( { data_source_reader_option = value } [, ...] ) ]
  [ COPY_OPTIONS ( { copy_option = value } [, ...] ) ]

credential
  WITH ( CREDENTIAL credential_name )

المعلمات

  • table_name

    يحدد جدول دلتا موجود. يجب ألا يتضمن الاسم مواصفات زمنية.

  • file_location

    موقع الملف لتحميل البيانات منه. يجب أن تحتوي الملفات الموجودة في هذا الموقع على التنسيق المحدد في FILEFORMAT. يحتوي الموقع على النموذج:

    <path_as_string> [ WITH ( [ CREDENTIAL (temporary_credential_options) ] [ ENCRYPTION (encryption_options) ] ) ]
    

    ملاحظة

    إذا كان مسار الملف المصدر مسار جذر، يرجى إضافة شرطة مائلة (/) في نهاية مسار الملف، على سبيل المثال، 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
  • اختر expression_list

    يحدد الأعمدة أو التعبيرات المحددة من البيانات المصدر قبل النسخ إلى جدول دلتا. يمكن أن تكون التعبيرات أي شيء تستخدمه مع SELECT العبارات، بما في ذلك عمليات النافذة. يمكنك استخدام تعبيرات التجميع فقط للتجميعات العمومية - لا GROUP BY يمكنك استخدام الأعمدة التي تحتوي على بناء الجملة هذا.

  • تنسيق الملف = data_source

    تنسيق الملفات المصدر المراد تحميلها. واحد من CSV، ، JSON، AVRO، ORC، PARQUET، ، TEXT، . BINARYFILE

  • التحقق

    يتم التحقق من صحة البيانات المراد تحميلها في جدول ولكن لا تتم كتابتها إلى الجدول. وتشمل عمليات التحقق هذه ما يلي:

    • ما إذا كان يمكن تحليل البيانات.
    • ما إذا كان المخطط يتطابق مع المخطط الموجود في الجدول أو إذا كان المخطط بحاجة إلى تطوير.
    • ما إذا كانت جميع قيود الإبطال والتحقق قد استوفيت.

    الافتراضي هو التحقق من صحة كافة البيانات التي سيتم تحميلها. يمكنك توفير عدد من الصفوف للتحقق من صحتها باستخدام الكلمة ROWS الرئيسية، مثل VALIDATE 15 ROWS. ترجع COPY INTO العبارة معاينة لبيانات 50 صفا أو أقل، عند استخدام رقم أقل من 50 مع الكلمة ROWS الأساسية).

    يتطلب:SQL إصدار نقطة النهاية 2022.11 أو أعلى. يتوفر هذا الإصدار في قناة المعاينة.

  • الملفات

    قائمة بأسماء الملفات المراد تحميلها، بطول يصل إلى 1000 ملف. لا يمكن تحديده مع PATTERN.

  • رسم

    نمط regex يحدد الملفات المراد تحميلها من الدليل المصدر. لا يمكن تحديده مع FILES.

  • FORMAT_OPTIONS

    الخيارات التي سيتم تمريرها إلى قارئ مصدر بيانات Apache Spark للتنسيق المحدد. راجع خيارات التنسيق لكل تنسيق ملف.

  • COPY_OPTIONS

    خيارات للتحكم في تشغيل COPY INTO الأمر.

    • forceمنطقي، افتراضي. false: إذا تم تعيينه إلى true، يتم تعطيل idempotency ويتم تحميل الملفات بغض النظر عما إذا كان قد تم تحميلها من قبل.

    • mergeSchemaمنطقي، افتراضي. false: إذا تم تعيينه إلى true، يمكن تطوير المخطط وفقا للبيانات الواردة. لتطوير مخطط جدول، يجب أن يكون لديك أذونات OWN على الجدول.

      يتطلب:SQL إصدار نقطة النهاية 2022.11 أو أعلى. يتوفر هذا الإصدار في قناة المعاينة.

تحديد بيانات الاعتماد المؤقتة أو خيارات التشفير للوصول إلى البيانات

إذا لم يكن لدى مجموعتك أذونات لقراءة ملفات المصدر، فيمكنك استخدام بيانات اعتماد مؤقتة للوصول إلى البيانات. COPY INTO يدعم:

  • رموز Azure SAS المميزة لقراءة البيانات من ADLS Gen2 وAzure Blob Storage. توجد الرموز المميزة المؤقتة ل Azure Blob Storage على مستوى الحاوية، في حين يمكن أن تكون الرموز المميزة ل ADLS Gen2 على مستوى الدليل بالإضافة إلى مستوى الحاوية. توصي Databricks باستخدام رموز SAS المميزة على مستوى الدليل قدر الإمكان. ستحتاج إلى رمز SAS المميز للحصول على أذونات "قراءة" و "قائمة" و "أذونات".
  • رموز AWS STS المميزة لقراءة البيانات من AWS S3. يجب أن تحتوي الرموز المميزة الخاصة بك على أذونات "s3:GetObject*" و "s3:ListBucket" و "s3:GetBucketLocation".

تحذير

توصي Databricks بتعيين آفاق انتهاء صلاحية طويلة وقصيرة بما فيه الكفاية لبيانات الاعتماد المؤقتة لمنع إساءة الاستخدام في حالة تعرضها عن غير قصد.

COPY INTO يدعم تحميل البيانات المشفرة من AWS S3. لتحميل البيانات المشفرة، قم بتوفير نوع التشفير والمفتاح لفك تشفير البيانات.

تحميل البيانات باستخدام بيانات اعتماد مؤقتة

يقوم المثال التالي بتحميل البيانات من S3 و ADLS Gen2 والاستفادة من بيانات الاعتماد المؤقتة لتوفير الوصول إلى البيانات المصدر.

COPY INTO my_json_data
FROM 's3://my-bucket/jsonData' WITH (
  CREDENTIAL (AWS_ACCESS_KEY = '...', AWS_SECRET_KEY = '...', AWS_SESSION_TOKEN = '...')
)
FILEFORMAT = JSON

COPY INTO my_json_data
FROM 'abfss://container@storageAccount.dfs.core.windows.net/jsonData' WITH (
  CREDENTIAL (AZURE_SAS_TOKEN = '...')
)
FILEFORMAT = JSON

تحميل البيانات المشفرة

يقوم المثال التالي بتحميل البيانات من S3 من خلال توفير مفاتيح التشفير التي يوفرها العميل.

COPY INTO my_json_data
FROM 's3://my-bucket/jsonData' WITH (
  ENCRYPTION (TYPE = 'AWS_SSE_C', MASTER_KEY = '...')
)
FILEFORMAT = JSON
  • credential_name

    الاسم الاختياري لبيانات الاعتماد المستخدمة للوصول إلى موقع التخزين أو الكتابة إليه. يمكنك استخدام بيانات الاعتماد هذه فقط إذا لم يتم تضمين موقع الملف في موقع خارجي.

أمثلة

تحميل ملفات CSV

يقوم المثال التالي بتحميل ملفات CSV من Azure Data Lake Storage Gen2 ضمن abfss://container@storageAccount.dfs.core.windows.net/base/path/folder1 جدول دلتا في abfss://container@storageAccount.dfs.core.windows.net/deltaTables/target.

> COPY INTO delta.`abfss://container@storageAccount.dfs.core.windows.net/deltaTables/target`
    FROM (SELECT key, index, textData, 'constant_value'
            FROM 'abfss://container@storageAccount.dfs.core.windows.net/base/path')
    FILEFORMAT = CSV
    PATTERN = 'folder1/file_[a-g].csv'
    FORMAT_OPTIONS('header' = 'true')

-- The example below loads CSV files without headers on ADLS Gen2 using COPY INTO.
-- By casting the data and renaming the columns, you can put the data in the schema you want
> COPY INTO delta.`abfss://container@storageAccount.dfs.core.windows.net/deltaTables/target`
    FROM (SELECT _c0::bigint key, _c1::int index, _c2 textData
          FROM 'abfss://container@storageAccount.dfs.core.windows.net/base/path')
    FILEFORMAT = CSV
    PATTERN = 'folder1/file_[a-g].csv'

تحميل بيانات JSON

يقوم المثال التالي بتحميل بيانات JSON من 5 ملفات على Azure إلى جدول Delta المسمى my_json_data. يجب إنشاء هذا الجدول قبل COPY INTO أن يمكن تنفيذه. إذا تم بالفعل تحميل أي بيانات من أحد الملفات، فلن تتم إعادة تحميل البيانات لهذا الملف.

 > COPY INTO my_json_data
     FROM 'abfss://my-bucket/jsonData'
     FILEFORMAT = JSON
     FILES = ('f1.json', 'f2.json', 'f3.json', 'f4.json', 'f5.json')

 -- The second execution will not copy any data since the first command already loaded the data
 > COPY INTO my_json_data
     FROM 'abfss://my-bucket/jsonData'
     FILEFORMAT = JSON
     FILES = ('f1.json', 'f2.json', 'f3.json', 'f4.json', 'f5.json')

تحميل بيانات Avro

يقوم المثال التالي بتحميل بيانات Avro على Google Cloud Storage باستخدام تعبيرات SQL إضافية كجزء من SELECT البيان.

> COPY INTO my_delta_table
    FROM (SELECT to_date(dt) dt, event as measurement, quantity::double
            FROM 'gs://my-bucket/avroData')
    FILEFORMAT = AVRO

تحميل بيانات JSON باستخدام بيانات اعتماد للمصدر والهدف

يقوم المثال التالي بتحميل بيانات JSON من ملف على Azure إلى جدول Delta الخارجي المسمى my_json_data. يجب إنشاء هذا الجدول قبل COPY INTO أن يمكن تنفيذه. يستخدم الأمر بيانات اعتماد واحدة موجودة للكتابة إلى جدول Delta خارجي وآخر للقراءة من موقع abfss.

> COPY INTO my_json_data WITH (CREDENTIAL target_credential)
    FROM 'abfss://my-bucket/jsonData' WITH (CREDENTIAL source_credential)
    FILEFORMAT = JSON
    FILES = ('f.json')

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

الخيارات العامة

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

الخيار
معدله بعد

النوع: Timestamp String، على سبيل المثال ، 2021-01-01 00:00:00.000000 UTC+0

طابع زمني اختياري لاستيعاب الملفات التي تحتوي على طابع زمني للتعديل بعد الطابع الزمني المتوفر.

القيمة الافتراضية: بلا
معدلة قبل

النوع: Timestamp String، على سبيل المثال ، 2021-01-01 00:00:00.000000 UTC+0

طابع زمني اختياري لاستيعاب الملفات التي تحتوي على طابع زمني للتعديل قبل الطابع الزمني المتوفر.

القيمة الافتراضية: بلا
pathGlobFilter

نوع: String

نمط غلوب محتمل لتوفير اختيار الملفات. أي ما يعادل
PATTERN في COPY INTO.

القيمة الافتراضية: بلا
recursiveFileLookup

نوع: Boolean

ما إذا كنت تريد تحميل البيانات بشكل متكرر داخل الدليل الأساسي وتخطي استدلال القسم.

قيمة افتراضية: false

JSON خيارات

الخيار
allowBackslashEscapingأي شخصية

نوع: Boolean

ما إذا كان يجب السماح للشرطة المائلة الخلفية بالهروب من أي شخصية تنجح في ذلك. إذا لم يتم تمكينها، يمكن فقط الهروب من الأحرف المدرجة صراحة بواسطة مواصفات JSON.

قيمة افتراضية: false
السماحتعليقات

نوع: Boolean

ما إذا كنت تريد السماح باستخدام تعليقات نمط Java و C و C ++ ('/'والأصناف '//''*') داخل المحتوى المحلل أم لا.

قيمة افتراضية: false
allowNonNumericNumbers

نوع: Boolean

ما إذا كنت تريد السماح بمجموعة الرموز المميزة غير الرقم (NaN) كقيم أرقام عائمة قانونية.

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

نوع: Boolean

ما إذا كنت تريد السماح للأرقام المتكاملة بالبدء بأصفار إضافية (جاهلة) (على سبيل المثال، 000001).

قيمة افتراضية: false
allowSingleQuotes

نوع: Boolean

ما إذا كنت تريد السماح باستخدام علامات اقتباس مفردة (الفاصلة العليا ، الحرف '\') لاقتباس السلاسل (الأسماء وقيم السلسلة).

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

نوع: Boolean

ما إذا كنت تريد السماح لسلاسل JSON باحتواء أحرف تحكم غير متوقفة (أحرف ASCII ذات القيمة أقل من 32، بما في ذلك أحرف خلاصة الجدولة والأسطر) أم لا.

قيمة افتراضية: false
allowUnquotedFieldNames

نوع: Boolean

ما إذا كنت تريد السماح باستخدام أسماء الحقول غير المقتبسة (التي تسمح بها جافا سكريبت، ولكن ليس وفقا لمواصفات JSON).

قيمة افتراضية: false
badRecordsPath

نوع: String

مسار تخزين الملفات لتسجيل المعلومات حول سجلات JSON السيئة.

القيمة الافتراضية: بلا
columnNameOfCorruptRecord

نوع: String

العمود الخاص بتخزين السجلات المشوهة والتي لا يمكن تحليلها. mode إذا تم تعيين التحليل على أنه DROPMALFORMED، فسيكون هذا العمود فارغا.

قيمة افتراضية: _corrupt_record
dateFormat

نوع: String

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

قيمة افتراضية: yyyy-MM-dd
دروبفيلدإيفالنول

نوع: Boolean

ما إذا كنت تريد تجاهل أعمدة كافة القيم الفارغة أو المصفوفات والبنيات الفارغة أثناء الاستدلال على المخطط.

قيمة افتراضية: false
الترميز أو مجموعة الأحرف

نوع: String

اسم ترميز ملفات JSON. انظر java.nio.charset.Charset للحصول على قائمة الخيارات. لا يمكنك استخدام UTF-16 ومتى multilineUTF-32 يكون true.

قيمة افتراضية: UTF-8
إنفرالطام الزمني

نوع: Boolean

ما إذا كنت تريد محاولة استنتاج سلاسل الطابع الزمني ك TimestampType. عند التعيين على
true، قد يستغرق استدلال المخطط وقتا أطول بشكل ملحوظ.

قيمة افتراضية: false
خطسبتمبر

نوع: String

سلسلة بين سجلين متتاليين ل JSON.

القيمة الافتراضية: لا شيء، والتي تغطي \rو \r\n\n
موقع

نوع: String

java.util.Locale معرف. يؤثر على التاريخ الافتراضي والطابع الزمني والتحليل العشري داخل JSON.

قيمة افتراضية: US
طريقة

نوع: String

وضع المحلل اللغوي حول التعامل مع السجلات المشوهة. واحد من 'PERMISSIVE'،
'DROPMALFORMED'، أو 'FAILFAST'.

قيمة افتراضية: PERMISSIVE
متعدد الخطوط

نوع: Boolean

ما إذا كانت سجلات JSON تمتد عبر أسطر متعددة.

قيمة افتراضية: false
يفضل العشري

نوع: Boolean

ما إذا كان يجب استنتاج العوامات والمزدوجة كما هو الحال DecimalType أثناء الاستدلال المخطط.

قيمة افتراضية: false
بدائياتالاسسلاسل

نوع: Boolean

ما إذا كان يجب استنتاج الأنواع البدائية مثل الأرقام والموضوعيات ك StringType.

قيمة افتراضية: false
أنقذتالبياناتعمود

نوع: String

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

القيمة الافتراضية: بلا
timestampFormat

نوع: String

تنسيق تحليل سلاسل الطوابع الزمنية.

قيمة افتراضية: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
"المنطقة الزمنية"

نوع: String

لاستخدامها java.time.ZoneId عند تحليل الطوابع الزمنية والتواريخ.

القيمة الافتراضية: بلا

CSV خيارات

الخيار
badRecordsPath

نوع: String

مسار تخزين الملفات لتسجيل المعلومات حول سجلات CSV السيئة.

القيمة الافتراضية: بلا
charToEscapeQuoteEscaping

نوع: Char

الشخصية المستخدمة للهروب من الشخصية المستخدمة للهروب من علامات الاقتباس. على سبيل المثال، للسجل التالي: [ " a\\", b ]

* إذا كان الحرف للهروب '\' غير محدد ، فلن يتم تحليل السجل. سيقوم المحلل اللغوي بقراءة الأحرف: [a],[\],["],[,],[ ],[b] ورمي خطأ لأنه لا يمكنه العثور على عرض أسعار إغلاق.
* إذا تم تعريف الحرف للهروب على '\' أنه '\'، قراءة السجل بقيم 2: [a\] و [b].

قيمة افتراضية: '\0'
columnNameOfCorruptRecord

نوع: String

عمود لتخزين السجلات المشوهة ولا يمكن تحليلها. mode إذا تم تعيين التحليل على أنه DROPMALFORMED، فسيكون هذا العمود فارغا.

قيمة افتراضية: _corrupt_record
التعليق

نوع: Char

يعرف الحرف الذي يمثل تعليق سطر عند العثور عليه في بداية سطر من النص. استخدم '\0' لتعطيل تخطي التعليق.

قيمة افتراضية: '#'
dateFormat

نوع: String

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

قيمة افتراضية: yyyy-MM-dd
القيمة الفارغة

نوع: String

تمثيل سلسلة لقيمة فارغة.

قيمة افتراضية: ""
الترميز أو مجموعة الأحرف

نوع: String

اسم ترميز ملفات CSV. انظر java.nio.charset.Charset للحصول على قائمة الخيارات. UTF-16 ولا UTF-32 يمكن استخدامها عندما multilinetrueيكون .

قيمة افتراضية: UTF-8
enforceSchema

نوع: Boolean

ما إذا كنت تريد تطبيق المخطط المحدد أو المستنبط بالقوة على ملفات CSV. إذا تم تمكين الخيار، تجاهل رؤوس ملفات CSV. يتم تجاهل هذا الخيار افتراضيا عند استخدام Auto Loader لإنقاذ البيانات والسماح بتطور المخطط.

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

نوع: Char

حرف الهروب لاستخدامه عند تحليل البيانات.

قيمة افتراضية: '\'
راس

نوع: Boolean

ما إذا كانت ملفات CSV تحتوي على رأس. يفترض المحمل التلقائي أن الملفات لها رؤوس عند استنتاج المخطط.

قيمة افتراضية: false
تجاهلLeadingWhiteSpace

نوع: Boolean

ما إذا كنت تريد تجاهل المسافات البيضاء البادئة لكل قيمة تم تحليلها.

قيمة افتراضية: false
تجاهلالتتبعالفضاء الأبيض

نوع: Boolean

ما إذا كنت تريد تجاهل المسافات البيضاء الزائدة لكل قيمة تم تحليلها.

قيمة افتراضية: false
inferSchema

نوع: Boolean

ما إذا كان سيتم استنتاج أنواع البيانات الخاصة بسجلات CSV التي تم تحليلها أو افتراض أن جميع الأعمدة من StringType. يتطلب تمريرة إضافية فوق البيانات إذا تم تعيينها إلى true.

قيمة افتراضية: false
خطسبتمبر

نوع: String

سلسلة بين سجلين متتاليين بتنسيق CSV.

القيمة الافتراضية: لا شيء، والتي تغطي \rو \r\n\n
موقع

نوع: String

java.util.Locale معرف. يؤثر على التاريخ الافتراضي والطابع الزمني والتحليل العشري داخل ملف CSV.

قيمة افتراضية: US
ماكسشارسبيركولومب

نوع: Int

الحد الأقصى لعدد الأحرف المتوقعة من قيمة لتحليلها. يمكن استخدامها لتجنب أخطاء الذاكرة. الإعدادات الافتراضية إلى -1، مما يعني غير محدود.

قيمة افتراضية: -1
ماكس كولومنز

نوع: Int

الحد الثابت لعدد الأعمدة التي يمكن أن يحتوي عليها السجل.

قيمة افتراضية: 20480
mergeSchema

نوع: Boolean

ما إذا كنت تريد استنتاج المخطط عبر ملفات متعددة ودمج مخطط كل ملف. يتم تمكينه افتراضيا للمحمل التلقائي عند استنتاج المخطط.

قيمة افتراضية: false
طريقة

نوع: String

وضع المحلل اللغوي حول التعامل مع السجلات المشوهة. واحد من 'PERMISSIVE'،
'DROPMALFORMED'، و 'FAILFAST'.

قيمة افتراضية: PERMISSIVE
متعدد الخطوط

نوع: Boolean

ما إذا كانت سجلات CSV تمتد عبر أسطر متعددة.

قيمة افتراضية: false
نان فاليو

نوع: String

تمثيل السلسلة لقيمة غير رقمية عند التحليل والأعمدة FloatTypeDoubleType .

قيمة افتراضية: "NaN"
سالب إنف

نوع: String

تمثيل السلسلة لللانهاية السالبة عند التحليل أو DoubleType الأعمدةFloatType.

قيمة افتراضية: "-Inf"
قيمة خالية

نوع: String

تمثيل سلسلة لقيمة فارغة.

قيمة افتراضية: ""
parserCaseSensitive (مهمل)

نوع: Boolean

أثناء قراءة الملفات، ما إذا كنت تريد محاذاة الأعمدة المعلنة في الرأس مع حالة أحرف المخطط بشكل حساس. هذا بشكل true افتراضي للمحمل التلقائي. سيتم إنقاذ الأعمدة التي تختلف حسب الحالة في rescuedDataColumn حالة تمكينها. تم إهمال هذا الخيار لصالح readerCaseSensitive.

قيمة افتراضية: false
ايجابي انف

نوع: String

تمثيل السلسلة للنهاية الموجبة عند التحليل أو DoubleType الأعمدةFloatType.

قيمة افتراضية: "Inf"
استشهد

نوع: Char

الحرف المستخدم للهروب من القيم حيث يكون محدد الحقل جزءا من القيمة.

قيمة افتراضية: '\'
أنقذتالبياناتعمود

نوع: String

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

القيمة الافتراضية: بلا
سبتمبر أو محدد

نوع: String

سلسلة الفاصل بين الأعمدة.

قيمة افتراضية: ","
timestampFormat

نوع: String

تنسيق تحليل سلاسل الطوابع الزمنية.

قيمة افتراضية: yyyy-MM-dd'T'HH:mm:ss[.SSS][XXX]
"المنطقة الزمنية"

نوع: 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

PARQUET خيارات

الخيار
datetimeRebaseMode

نوع: String

يتحكم في إعادة ترتيب قيم التاريخ والطابع الزمني بين التقويمين اليولياني والغريغوري البروليبتيكي. القيم المسموح بها: EXCEPTION، LEGACYو
CORRECTED.

قيمة افتراضية: LEGACY
int96RebaseMode

نوع: String

يتحكم في إعادة ترتيب قيم الطابع الزمني INT96 بين التقويمين اليولياني والغريغوري البروليبتيكي. القيم المسموح بها: EXCEPTION، LEGACYو
CORRECTED.

قيمة افتراضية: LEGACY
mergeSchema

نوع: Boolean

ما إذا كنت تريد استنتاج المخطط عبر ملفات متعددة ودمج مخطط كل ملف.

قيمة افتراضية: false

AVRO خيارات

الخيار
أفروشيما

نوع: String

مخطط اختياري يوفره مستخدم بتنسيق Avro. عند قراءة Avro ، يمكن تعيين هذا الخيار على مخطط متطور ، وهو متوافق ولكنه مختلف عن مخطط Avro الفعلي. سيكون مخطط إلغاء التسلسل متسقا مع المخطط المتطور. على سبيل المثال، إذا قمت بتعيين مخطط متطور يحتوي على عمود إضافي واحد بقيمة افتراضية، فستحتوي نتيجة القراءة على العمود الجديد أيضا.

القيمة الافتراضية: بلا
datetimeRebaseMode

نوع: String

يتحكم في إعادة ترتيب قيم التاريخ والطابع الزمني بين التقويمين اليولياني والغريغوري البروليبتيكي. القيم المسموح بها: EXCEPTION، LEGACYو
CORRECTED.

قيمة افتراضية: LEGACY
mergeSchema

نوع: Boolean

ما إذا كنت تريد استنتاج المخطط عبر ملفات متعددة ودمج مخطط كل ملف.
mergeSchema لأفرو لا يخفف أنواع البيانات.

قيمة افتراضية: false

BINARYFILE خيارات

لا تحتوي الملفات الثنائية على أي خيارات تكوين إضافية.

TEXT خيارات

الخيار
ترميز

نوع: String

اسم ترميز ملفات TEXT. انظر java.nio.charset.Charset للحصول على قائمة الخيارات.

قيمة افتراضية: UTF-8
خطسبتمبر

نوع: String

سلسلة بين سجلين نصيين متتاليين.

القيمة الافتراضية: لا شيء، والتي تغطي \rو \r\n\n
النص الكامل

نوع: Boolean

ما إذا كنت تريد قراءة ملف كسجل واحد.

قيمة افتراضية: false

ORC خيارات

الخيار
mergeSchema

نوع: Boolean

ما إذا كنت تريد استنتاج المخطط عبر ملفات متعددة ودمج مخطط كل ملف.

قيمة افتراضية: false