أنواع البيانات
ينطبق على: 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 بايت. |
ARRAY <elementType> |
يمثل القيم التي تتألف من سلسلة من العناصر بنوع elementType . |
MAP < keyType,valueType > | يمثل القيم التي تتكون من مجموعة من أزواج قيم المفاتيح. |
STRUCT < [fieldName : fieldType [NOT NULL][COMMENT str][, ...]] > | يمثل القيم مع البنية الموضحة بواسطة تسلسل من الحقول. |
هام
لا يدعم VOID
Delta Lake والأنواع INTERVAL
.
تصنيف نوع البيانات
يتم تجميع أنواع البيانات في الفئات التالية:
- تمثل الأنواع الرقمية المتكاملة أرقاما كاملة:
- تمثل الأنواع الرقمية الدقيقة الأرقام الأساسية 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 |
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 |
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) |
خريطه | نوع الخريطة | Dict | MapType(keyType, valueType, [valueContainsNull]).(2) |
البنيه | نوع البنية | قائمة أو مجموعة | StructType(fields). الحقل هو Seq من StructField. (4) |
حقل البنية | نوع قيمة نوع بيانات هذا الحقل (على سبيل المثال، Int ل StructField مع نوع البيانات IntegerType) | StructField(name, dataType, [nullable]).(4) |
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
قيم. هذا هو الوضع الافتراضي.
مقالات ذات صلة
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ