نسخ إلى (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 )
المعلمات
-
يحدد جدول دلتا موجود. يجب ألا يتضمن الاسم مواصفات زمنية.
file_location
موقع الملف لتحميل البيانات منه. يجب أن تحتوي الملفات الموجودة في هذا الموقع على التنسيق المحدد في
FILEFORMAT
. يحتوي الموقع على النموذج:<path_as_string> [ WITH ( [ CREDENTIAL (temporary_credential_options) ] [ ENCRYPTION (encryption_options) ] ) ]
ملاحظة
إذا كان مسار الملف المصدر مسار جذر، يرجى إضافة شرطة مائلة (
/
) في نهاية مسار الملف، على سبيل المثال،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
اختر 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
-
الاسم الاختياري لبيانات الاعتماد المستخدمة للوصول إلى موقع التخزين أو الكتابة إليه. يمكنك استخدام بيانات الاعتماد هذه فقط إذا لم يتم تضمين موقع الملف في موقع خارجي.
أمثلة
- تحميل ملفات CSV
- تحميل بيانات JSON
- تحميل بيانات Avro
- تحميل بيانات JSON باستخدام بيانات اعتماد للمصدر والهدف
تحميل ملفات 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 ومتى multiline UTF-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 يمكن استخدامها عندما multiline true يكون .قيمة افتراضية: 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 تمثيل السلسلة لقيمة غير رقمية عند التحليل والأعمدة FloatType DoubleType .قيمة افتراضية: "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 |