إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime
للاطلاع على القواعد التي تحكم كيفية حل التعارضات بين أنواع البيانات، راجع قواعد نوع بيانات SQL.
أنواع البيانات المعتمدة
يدعم Azure Databricks أنواع البيانات التالية:
| نوع البيانات | الوصف |
|---|---|
| BIGINT | يمثل أرقاما صحيحة موقعة من 8 بايت. |
| ثنائي | يمثل قيم تسلسل البايت. |
| منطقيه | يمثل القيم المنطقية. |
| تاريخ | يمثل القيم التي تتضمن قيم الحقول السنة والشهر واليوم، دون منطقة زمنية. |
| DECIMAL(p,s) | يمثل الأرقام ذات الدقة p القصوى والمقياس sالثابت . |
| مزدوج | يمثل أرقام الفاصلة العائمة المزدوجة الدقة 8 بايت. |
| طفا | يمثل أرقام الفاصلة العائمة أحادية الدقة 4 بايت. |
| الباحث | يمثل أرقاما صحيحة موقعة من 4 بايت. |
| الفاصل الزمنيQualifier | يمثل فواصل زمنية إما على مقياس الثوان أو الأشهر. |
| خلاء | يمثل NULL غير المصمم. |
| SMALLINT | يمثل أرقاما صحيحة موقعة من 2 بايت. |
| خيط | يمثل قيم سلسلة الأحرف. |
| الطابع الزمني | يمثل القيم التي تتضمن قيم الحقول السنة والشهر واليوم والساعة والدقيقة والثانية، مع المنطقة الزمنية المحلية لجلسة العمل. |
| TIMESTAMP_NTZ | يمثل القيم التي تتضمن قيم الحقول السنة والشهر واليوم والساعة والدقيقة والثانية. يتم تنفيذ جميع العمليات دون أخذ أي منطقة زمنية في الاعتبار. |
| TINYINT | يمثل أرقاما صحيحة موقعة من 1 بايت. |
| نوع عنصر الصفيف <> | يمثل القيم التي تتألف من سلسلة من العناصر بنوع elementType. |
| MAP < keyType,valueType > | يمثل القيم التي تتكون من مجموعة من أزواج قيم المفاتيح. |
| STRUCT < [fieldName : fieldType [NOT NULL][COMMENT str][, ...]] > | يمثل القيم مع البنية الموضحة بواسطة تسلسل من الحقول. |
| متغير | يمثل البيانات شبه المنظمة. |
| كائن | يمثل القيم في VARIANT مع البنية الموضحة بواسطة مجموعة من الحقول. |
هام
لا يدعم VOID Delta Lake النوع.
تصنيف نوع البيانات
يتم تجميع أنواع البيانات في الفئات التالية:
- تمثل الأنواع الرقمية المتكاملة أرقاما كاملة:
- تمثل الأنواع الرقمية الدقيقة الأرقام الأساسية 10:
- تستخدم أنواع النقاط العائمة الثنائية الأس والتمثيل الثنائي لتغطية مجموعة كبيرة من الأرقام:
- تمثل الأنواع الرقمية جميع أنواع البيانات الرقمية:
- تمثل أنواع التاريخ والوقت مكونات التاريخ والوقت:
- الأنواع البسيطة هي أنواع محددة من خلال الاحتفاظ بقيم مفردة:
- تتكون الأنواع المعقدة من مكونات متعددة من أنواع معقدة أو بسيطة:
تعيينات اللغة
ينطبق على:
Databricks Runtime
Scala
يتم تعريف أنواع بيانات Spark SQL في الحزمة org.apache.spark.sql.types. يمكنك الوصول إليها عن طريق استيراد الحزمة:
import org.apache.spark.sql.types._
| نوع SQL | نوع البيانات | نوع القيمة | واجهة برمجة التطبيقات للوصول إلى نوع البيانات أو إنشائه |
|---|---|---|---|
| TINYINT | ByteType | بايت | ByteType |
| SMALLINT | ShortType | قصير | ShortType |
| الباحث | IntegerType | Int | IntegerType |
| BIGINT | LongType | طويل | LongType |
| طفا | FloatType | Float | FloatType |
| مزدوج | DoubleType | مزدوج | DoubleType |
| DECIMAL(p,s) | نوع عشري | java.math.BigDecimal | نوع عشري |
| خيط | StringType | السلسلة | StringType |
| ثنائي | نوع ثنائي | Array[Byte] | نوع ثنائي |
| منطقيه | BooleanType | Boolean | BooleanType |
| الطابع الزمني | نوع الطابع الزمني | java.sql.الطابع الزمني | نوع الطابع الزمني |
| TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | TimestampNTZType |
| تاريخ | DateType | java.sql.Date | DateType |
| الفاصل الزمني للشهر السنوي | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| الفاصل الزمني لليوم | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| صفيف | نوع الصفيف | scala.collection.Seq | ArrayType(elementType [, containsNull]). (2) |
| خريطة | نوع الخريطة | scala.collection.Map | MapType(keyType, valueType [, valueContainsNull]). (2) |
| البنيه | نوع البنية | org.apache.spark.sql.Row | StructType(fields). الحقول هي Seq من StructField. 4. |
| حقل البنية | نوع قيمة نوع البيانات لهذا الحقل (على سبيل المثال، Int ل StructField مع نوع البيانات IntegerType) | StructField(name, dataType [, nullable]). 4 | |
| متغير | نوع المتغير | org.apache.spark.unsafe.type.VariantVal | نوع المتغير |
| كائن | غير معتمد | غير مدعوم | غير مدعوم |
Java
يتم تعريف أنواع بيانات Spark SQL في الحزمة org.apache.spark.sql.types. للوصول إلى نوع بيانات أو إنشائه، استخدم أساليب المصنع المتوفرة في org.apache.spark.sql.types.DataTypes.
| نوع SQL | نوع البيانات | نوع القيمة | واجهة برمجة التطبيقات للوصول إلى نوع البيانات أو إنشائه |
|---|---|---|---|
| TINYINT | ByteType | بايت أو بايت | DataTypes.ByteType |
| SMALLINT | ShortType | قصير أو قصير | DataTypes.ShortType |
| الباحث | IntegerType | int أو Integer | نوع البيانات.IntegerType |
| BIGINT | LongType | طويل أو طويل | DataTypes.LongType |
| طفا | FloatType | عائم أو عائم | DataTypes.FloatType |
| مزدوج | DoubleType | مزدوج أو مزدوج | DataTypes.DoubleType |
| DECIMAL(p,s) | نوع عشري | java.math.BigDecimal | DataTypes.createDecimalType() DataTypes.createDecimalType(precision, scale). |
| خيط | StringType | السلسلة | DataTypes.StringType |
| ثنائي | نوع ثنائي | byte[] | DataTypes.BinaryType |
| منطقيه | BooleanType | منطقي أو منطقي | DataTypes.BooleanType |
| الطابع الزمني | نوع الطابع الزمني | java.sql.الطابع الزمني | DataTypes.TimestampType |
| TIMESTAMP_NTZ | TimestampNTZType | java.time.LocalDateTime | DataTypes.TimestampNTZType |
| تاريخ | DateType | java.sql.Date | DataTypes.DateType |
| الفاصل الزمني للشهر السنوي | YearMonthIntervalType | java.time.Period | YearMonthIntervalType (3) |
| الفاصل الزمني لليوم | DayTimeIntervalType | java.time.Duration | DayTimeIntervalType (3) |
| صفيف | نوع الصفيف | ava.util.List | DataTypes.createArrayType(elementType [, containsNull]).(2) |
| خريطة | نوع الخريطة | java.util.Map | DataTypes.createMapType(keyType, valueType [, valueContainsNull]).(2) |
| البنيه | نوع البنية | org.apache.spark.sql.Row | DataTypes.createStructType(fields). الحقول هي قائمة أو صفيف من StructField. 4 |
| حقل البنية | نوع قيمة نوع بيانات هذا الحقل (على سبيل المثال، int ل StructField مع نوع البيانات IntegerType) | DataTypes.createStructField(name, dataType, nullable) 4 | |
| متغير | نوع المتغير | org.apache.spark.unsafe.type.VariantVal | نوع المتغير |
| كائن | غير معتمد | غير مدعوم | غير مدعوم |
Python
يتم تعريف أنواع بيانات Spark SQL في الحزمة pyspark.sql.types. يمكنك الوصول إليها عن طريق استيراد الحزمة:
from pyspark.sql.types import *
| نوع SQL | نوع البيانات | نوع القيمة | واجهة برمجة التطبيقات للوصول إلى نوع البيانات أو إنشائه |
|---|---|---|---|
| TINYINT | ByteType | int أو طويلة. (1) | نوع البايت() |
| SMALLINT | ShortType | int أو طويلة. (1) | ShortType() |
| الباحث | IntegerType | int أو طويل | IntegerType() |
| BIGINT | LongType | طويل (1) | LongType() |
| طفا | FloatType | عائم (1) | FloatType() |
| مزدوج | DoubleType | عائم | DoubleType() |
| DECIMAL(p,s) | نوع عشري | عشري. عشري | DecimalType() |
| خيط | StringType | سلسلة | StringType() |
| ثنائي | نوع ثنائي | بايتراي | BinaryType() |
| منطقيه | BooleanType | منطقي | نوع منطقي() |
| الطابع الزمني | نوع الطابع الزمني | datetime.datetime | TimestampType() |
| TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
| تاريخ | DateType | datetime.date | DateType() |
| الفاصل الزمني للشهر السنوي | YearMonthIntervalType | غير مدعوم | غير مدعوم |
| الفاصل الزمني لليوم | DayTimeIntervalType | datetime.timedelta | DayTimeIntervalType (3) |
| صفيف | نوع الصفيف | قائمة أو مجموعة أو صفيف | ArrayType(elementType, [containsNull]).(2) |
| خريطة | نوع الخريطة | الإملاء | MapType(keyType, valueType, [valueContainsNull]).(2) |
| البنيه | نوع البنية | قائمة أو مجموعة | StructType(fields). الحقل هو Seq من StructField. (4) |
| حقل البنية | نوع قيمة نوع بيانات هذا الحقل (على سبيل المثال، Int ل StructField مع نوع البيانات IntegerType) | StructField(name, dataType, [nullable]).(4) | |
| متغير | نوع المتغير | VariantVal | VariantType() |
| كائن | غير معتمد | غير مدعوم | غير مدعوم |
R
| نوع SQL | نوع البيانات | نوع القيمة | واجهة برمجة التطبيقات للوصول إلى نوع البيانات أو إنشائه |
|---|---|---|---|
| TINYINT | ByteType | عدد صحيح (1) | 'بايت' |
| SMALLINT | ShortType | عدد صحيح (1) | 'قصير' |
| الباحث | IntegerType | integer | "عدد صحيح" |
| BIGINT | LongType | عدد صحيح (1) | "طويل" |
| طفا | FloatType | رقمي (1) | "عائم" |
| مزدوج | DoubleType | عددي | "مزدوج" |
| DECIMAL(p,s) | نوع عشري | غير مدعوم | غير مدعوم |
| خيط | StringType | حرف | "سلسلة" |
| ثنائي | نوع ثنائي | نيء | "ثنائي" |
| منطقيه | BooleanType | منطقي | 'bool' |
| الطابع الزمني | نوع الطابع الزمني | POSIXct | "الطابع الزمني" |
| TIMESTAMP_NTZ | TimestampNTZType | datetime.datetime | TimestampNTZType() |
| تاريخ | DateType | التاريخ | "تاريخ" |
| الفاصل الزمني للشهر السنوي | YearMonthIntervalType | غير مدعوم | غير مدعوم |
| الفاصل الزمني لليوم | DayTimeIntervalType | غير مدعوم | غير مدعوم |
| صفيف | نوع الصفيف | متجه أو قائمة | list(type='array', elementType=elementType, containsNull=[containsNull]).(2) |
| خريطة | نوع الخريطة | بيئة | list(type='map', keyType=keyType, valueType=valueType, valueContainsNull=[valueContainsNull]).(2) |
| البنيه | نوع البنية | قائمة مسماة | list(type='struct', fields=fields). الحقول هي Seq من StructField. (4) |
| حقل البنية | نوع قيمة نوع البيانات لهذا الحقل (على سبيل المثال، عدد صحيح لحقل StructField مع نوع البيانات IntegerType) | list(name=name, type=dataType, nullable=[nullable]).(4) | |
| متغير | غير معتمد | غير مدعوم | غير مدعوم |
| كائن | غير معتمد | غير مدعوم | غير مدعوم |
(1) يتم تحويل الأرقام إلى المجال في وقت التشغيل. تأكد من أن الأرقام ضمن النطاق.
(2) القيمة الاختيارية افتراضيا إلى TRUE.
(3) أنواع الفواصل الزمنية
YearMonthIntervalType([startField,] endField): يمثل فاصلا زمنيا لمدة شهر يتكون من مجموعة فرعية متجاورة من الحقول التالية:startFieldهو الحقل الموجود في أقصى اليسار،endFieldوهو الحقل الموجود في أقصى اليمين من النوع. القيم الصالحة لstartFieldوendFieldهي0(MONTH)و1(YEAR).DayTimeIntervalType([startField,] endField): يمثل فاصلا زمنيا لليوم يتكون من مجموعة فرعية متجاورة من الحقول التالية:startFieldهو الحقل الموجود في أقصى اليسار،endFieldوهو الحقل الموجود في أقصى اليمين من النوع. القيم الصالحة لstartFieldوendFieldهي0(DAY)و1(HOUR)و2(MINUTE)و3(SECOND).
(4) StructType
StructType(fields)يمثل القيم ذات البنية الموضحة بواسطة تسلسل أو قائمة أو صفيف منStructField(حقول). لا يسمح بإدخال حقلين بالاسم نفسه.StructField(name, dataType, nullable)يمثل حقلاStructTypeفي . تتم الإشارة إلى اسم الحقل بواسطةname. تتم الإشارة إلى نوع بيانات الحقل بواسطة نوع البيانات.nullableيشير إلى ما إذا كانت قيم هذه الحقول يمكن أن تحتوي علىnullقيم. هذا هو الوضع الافتراضي.