Поделиться через


Типы данных в хранилище данных Fabric

Область применения:✅ конечная точка аналитики SQL и хранилище в Microsoft Fabric

Таблицы в Microsoft Fabric поддерживают наиболее часто используемые типы данных T-SQL.

Типы данных в хранилище

Хранилище поддерживает подмножество типов данных T-SQL. Каждый предлагаемый тип данных основан на типе данных SQL Server с одинаковым именем. Дополнительные сведения см. в справочной статье для каждой из приведенных ниже таблиц.

Категория Supported data types (Azure Search) (Поддерживаемые типы данных (служба "Поиск Azure")).
Точные числовые значения
Приблизительные числовые значения
Дата и время
Строки символов фиксированной длины
Строки символов переменной длины
Двоичные строки

* Точность даты и времени ограничена 6 цифрами точности на долях секунд.

** Тип данных uniqueidentifier является типом данных T-SQL, который не имеет соответствующего типа данных в Delta Parquet. В результате он хранится в виде двоичного типа. Хранилище поддерживает хранение и чтение столбцов uniqueidentifier, но такие значения невозможно прочитать через конечную точку SQL-аналитики. При чтении значений uniqueidentifier в lakehouse отображается двоичное представление исходных значений. В результате такие функции, как перекрестные соединения между хранилищем и конечной точкой аналитики SQL с использованием столбца uniqueidentifier , не работают должным образом.

Поддержка varchar (max) и varbinary (max) в настоящее время находится в предварительной версии для хранилища. Строковые столбцы из базовых файлов Delta Lake в One Lake представлены как varchar(8000) вместо varchar(max) в конечной точке аналитики SQL. Ограничение для хранилища в varchar(max) в настоящее время составляет 1 МБ в хранилище данных Fabric Data Warehouse.

Дополнительные сведения о поддерживаемых типах данных, включая их точность, см. в справочнике CREATE TABLE .

Неподдерживаемые типы данных

Для типов данных T-SQL, которые в настоящее время не поддерживаются, доступны некоторые варианты. Убедитесь, что вы оцениваете использование этих типов, так как точность и поведение запросов зависят от них.

Неподдерживаемый тип данных Доступны альтернативные варианты
деньги и небольшие деньги Используйте десятичный тип, однако обратите внимание, что онa не может хранить денежную единицу.
datetime и smalldatetime Используйте datetime2.
datetimeoffset Используйте datetime2, однако вы можете использовать datetimeoffset для преобразования данных с помощью CAST функции AT TIME ZONE (Transact-SQL). Пример см. в разделе datetimeoffset.
nchar и nvarchar Используйте char и varchar соответственно, так как в Parquet нет аналогичного типа данных Unicode. Типы char и varchar в сортировке UTF-8 могут использовать больше хранилища, чем nchar и nvarchar для хранения данных юникода. Чтобы понять влияние на среду, ознакомьтесь с различиями в хранении между UTF-8 и UTF-16.
text и ntext Используйте varchar.
Изображение Используйте varbinary.
tinyint Используйте smallint.
география Храните географические данные в виде пары столбцов (широта, долгота) или столбца varbinary с двоичным содержимым в известном формате и привести его к географическому значению. В качестве альтернативы используйте тип varchar и сохраните данные как известный текст.
геометрия Храните данные геометрии в виде пары столбцов (широта, долгота) или в столбце varbinary с хорошо известным двоичным содержимым, приводя его к геометрическому значению. В качестве альтернативы используйте тип varchar и сохраняйте данные как текст в формате Well-Known.
json Используйте varchar.
XML Эквивалент отсутствует.
определяемый пользователем тип (CLR) Эквивалент отсутствует.

Неподдерживаемые типы данных по-прежнему можно использовать в коде T-SQL для переменных, параметров или выходных данных функций и хранимых процедур или любого использования в памяти в сеансе. Создание таблиц или представлений, сохраняющих данные на диске с любым из этих типов, запрещено.

Руководство по созданию таблицы в хранилище см. в разделе "Создание таблиц".

Автоматически созданные типы данных в конечной точке аналитики SQL

Таблицы в конечной точке SQL-аналитики автоматически создаются при создании таблицы в соответствующем хранилище данных типа "лейкхаус". Типы столбцов в таблицах конечных точек аналитики SQL являются производными от исходных типов Delta.

Правила сопоставления исходных типов delta с типами SQL в конечной точке аналитики SQL показаны в следующей таблице:

Тип данных Delta Тип данных SQL (отображён)
LONG, BIGINT bigint
BOOLEAN, BOOL бит
INT, INTEGER int
TINYINT, BYTE, SMALLINT, SHORT smallint
двойной плавать
FLOAT, REAL реальный
ДАТА дата
TIMESTAMP datetime2
CHAR(n) varchar(n) с Latin1_General_100_BIN2_UTF8 сортировкой
STRING, VARCHAR(n) varchar(n) с Latin1_General_100_BIN2_UTF8 сортировкой
STRING, VARCHAR(8000) varchar(8000) с Latin1_General_100_BIN2_UTF8 сортировкой
ДВОИЧНЫЙ varbinary(n)
ДЕСЯТИЧНЫЙ, ДЕС, ЧИСЛОВОЙ decimal(p,s)

Столбцы с типами, не перечисленными в таблице, не представлены в виде столбцов таблицы в конечной точке аналитики SQL.