Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:
Databricks SQL
Databricks Runtime
Создает схему (базу данных) с указанным именем. Если схема с тем же именем уже существует, создается исключение.
Синтаксис
CREATE SCHEMA [ IF NOT EXISTS ] schema_name
[ COMMENT schema_comment |
DEFAULT COLLATION default_collation_name |
{ LOCATION schema_directory | MANAGED LOCATION location_path } |
WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] ) ] [...]
Параметры
-
Имя создаваемой схемы.
Схемы, созданные в каталоге
hive_metastore, могут содержать только буквенно-цифровые символы ASCII и символы подчеркивания (INVALID_SCHEMA_OR_RELATION_NAME). ЕСЛИ НЕ СУЩЕСТВУЕТ
Создает схему с заданным именем, если она не существует. Если схема с тем же именем уже существует, ничего не произойдет.
МЕСТОПОЛОЖЕНИЕ
schema_directoryLOCATIONне поддерживается в каталоге Unity. Если вы хотите указать расположение хранилища для схемы в каталоге Unity, используйтеMANAGED LOCATION.schema_directorySTRING— это литерал. Путь к файловой системе, в которой должна быть создана указанная схема. Если указанный путь не существует в файловой системе, создается каталог с этим путем. Если расположение не указано, схема создается в каталоге хранилища по умолчанию, путь которого настраивается статической конфигурациейspark.sql.warehouse.dir.Предупреждение
Если в хранилище метаданных Hive уровня рабочей области зарегистрирована схема (база данных), удаление схемы с помощью параметра
CASCADEприводит к удалению всех файлов в этом расположении схемы рекурсивно независимо от типа таблицы (управляемого или внешнего).Если схема зарегистрирована в метахранилище каталога Unity, файлы управляемых таблиц каталога Unity удаляются рекурсивно. Однако файлы для внешних таблиц не удаляются. Эти файлы необходимо управлять напрямую с помощью поставщика облачных хранилищ.
Таким образом, чтобы избежать случайной потери данных, никогда не следует регистрировать схему в хранилище метаданных Hive на месте, где уже существуют данные. Не следует создавать новые внешние таблицы в местоположении, управляемом метаданными Hive, или содержащем управляемые таблицы Unity Catalog.
КОММЕНТАРИЙ
schema_commentЛитерал
STRING. Описание схемы.СОРТИРОВКА ПО УМОЛЧАНИЮ default_collation_name
Применяется к:
Databricks SQL
Databricks Runtime 17.1 и более поздних версийПри необходимости определяет параметры сортировки по умолчанию для объектов, определенных в схеме. Если не указано иное, сортировка по умолчанию наследуется из каталога.
УПРАВЛЯЕМОЕ РАСПОЛОЖЕНИЕ
location_pathMANAGED LOCATIONявляется необязательным, если используется Unity Catalog. Если вы хотите указать расположение хранилища для схемы, зарегистрированной на уровне рабочей области Hive или стороннего хранилища метаданных, используйте вместо этогоLOCATION.location_pathдолжен быть литераломSTRING. Указывает путь к корневому расположению хранилища для схемы, отличной от корневого расположения каталога или хранилища метаданных. Этот путь должен быть определен в конфигурации внешнего расположения, и у вас должнаCREATE MANAGED STORAGEбыть привилегия в конфигурации внешнего расположения. Можно использовать путь, определенный в конфигурации внешнего расположения или подпате (другими словами,'abfss://container@storageaccount.dfs.core.windows.net/finance'или'abfss://container@storageaccount.dfs.core.windows.net/finance/product'). Поддерживается в Databricks SQL или в кластерах под управлением Databricks Runtime 11.3 LTS и более поздних версий.См. также управляемые таблицы каталога Unity в Azure Databricks для Delta Lake и Apache Iceberg исоздание хранилища метаданных каталога Unity.
WITH DBPROPERTIES ( { property_name = property_value } [ , ... ] )
Свойства схемы, представленные в виде пар "ключ-значение".
ПАРАМЕТРЫ
Задает параметры конкретного типа подключения, необходимые для идентификации каталога в соединении.
optionКлюч параметра. Ключ может состоять из одного или нескольких идентификаторов, разделенных точкой или
STRINGлитералом.Ключи параметров должны быть уникальными и чувствительны к регистру.
valueЗначение параметра. Значение должно быть выражением
BOOLEAN,STRINGINTEGERилиDECIMALконстантой. Это значение также может быть вызовомSECRETфункции SQL. Например, этоvaluepasswordможет бытьsecret('secrets.r.us', 'postgresPassword')в отличие от ввода литерального пароля.
Примеры
-- Create schema `customer_sc`. This throws exception if schema with name customer_sc
-- already exists.
> CREATE SCHEMA customer_sc;
-- Create schema `customer_sc` only if schema with same name doesn't exist.
> CREATE SCHEMA IF NOT EXISTS customer_sc;
-- Create schema `experimental` with a case insensitive unicode default collation
> CREATE SCHEMA experimental DEFAULT COLLATION UNICODE_CI;
-- Create schema `customer_sc` only if schema with same name doesn't exist with
-- `Comments`,`Specific Location` and `Database properties`. LOCATION is not supported in Unity Catalog.
> CREATE SCHEMA IF NOT EXISTS customer_sc COMMENT 'This is customer schema' LOCATION '/samplepath'
WITH DBPROPERTIES (ID=001, Name='John');
-- Create schema with a different managed storage location than the metastore's. MANAGED LOCATION is supported only in Unity Catalog.
> CREATE SCHEMA customer_sc MANAGED LOCATION 'abfss://container@storageaccount.dfs.core.windows.net/finance';
-- Verify that properties are set.
> DESCRIBE SCHEMA EXTENDED customer_sc;
database_description_item database_description_value
------------------------- --------------------------
Database Name customer_sc
Description This is customer schema
Location hdfs://hacluster/samplepath
Properties ((ID,001), (Name,John))