Gramática SQL

Os usuários do Oracle AI Data Platform Workbench podem usar SQL para automatizar suas cargas de trabalho DDL.

Gramática SQL do Catálogo

Os objetos do catálogo suportam a gramática SQL listada para cargas de trabalho DDL.

O Oracle AI Data Platform Workbench suporta todos os tipos de dados Spark SQL padrão. Para obter mais informações, consulte Documentação do Apache Spark - Tipos de Dados Suportados.

Tabela 46-1 Gramática SQL de Catálogo Padrão e Externo

Operação Gramática
Criar Catálogo

Catálogo

CREATE CATALOG [ IF NOT EXISTS ] <<catalog_name>> [ PROPERTIES (DESCRIPTION = description ) ] OPTIONS ( { option_name = option_value } [ , ... ] )

Catálogo Externo

CREATE EXTERNAL CATALOG [ IF NOT EXISTS ] <<catalog_name>> [PROPERTIES ( DESCRIPTION description ) ]OPTIONS ( { option_name = option_value } [ , ... ] )

OPÇÕES terão detalhes da conexão

Catálogo Externo - Exemplo do Oracle Autonomous AI Lakehouse

wt = base64 encoded wallet contents
create_sql="create external catalog if not exists
catalog_adw options
 ('wallet.content' = '{wt}', 'type' = 'ORACLE_ADW',
'user.name' = 'ADMIN',
 'tns' = 'adw23ai_high', 'password' =
 'xxxxx','wallet.password' = 'xxxxx')"

Resposta

Catalog <<catalog_name>> created successfully

Erro

<<SQL Command>> failed due to <<reason>>
Alterar Catálogo

Alterar nome do catálogo

ALTER CATALOG old_catalog_name RENAME new_catalog_name;

Alterar descrição do catálogo

ALTER CATALOG <catalog-name> set properties (DESCRIPTION=<property-value>)

Alterar opções de catálogo (conexão)

ALTER CATALOG <catalog-name> set options (option_name = option_value)

Resposta

Catalog <<catalog_name>> updated successfully

Erro

<<SQL Command>> failed due to <<reason>>
Excluir Catálogo
DROP CATALOG [ IF EXISTS ] catalog_name

Por padrão, durante o catálogo DROP, todos os objetos filhos também serão excluídos

Resposta

Catalog <<catalog_name>> dropped successfully

Erro

<<SQL Command>> failed due to <<reason>>
Catálogo de Listas
SHOW CATALOGS [ [ LIKE ] [ regex_pattern ] [ TYPE = EXTERNAL CATALOG | CATALOG ]

regex_pattern: Um padrão de expressão regular que é usado para filtrar os resultados da instrução.

Resposta :
Catálogo Tipo
<<nome_do_catálogo>> Catálogo | Catálogo Externo
<<nome_do_catálogo>> Catálogo | Catálogo Externo
<<nome_do_catálogo>> Catálogo | Catálogo Externo

Erro

<<SQL Command>> failed due to <<reason>>
Descrever Catálogo
DESC CATALOG <<catalog_name>>
DESCRIBE CATALOG <<catalog_name>>
Resposta (Catálogo padrão):
Atributo Valor
Nome Nome do catálogo padrão
Tipo Catálogo Padrão
Descrição Descrição do catálogo padrão
Criado por Principal que criou o catálogo padrão
Criado em Data e hora de criação
Atualizado por Principal que atualizou o catálogo padrão pela última vez
Atualizado em Data e hora da última atualização
Resposta (catálogo externo):
Atributo Valor
Nome Nome do catálogo externo
Tipo Catálogo Externo
Tipo de origem Origem do catálogo externo (por exemplo, Oracle Autonomous AI Lakehouse)
Descrição Descrição do catálogo externo
Criado por Principal que criou o catálogo externo
Criado em Data e hora de criação
Atualizado por Principal que atualizou o catálogo externo pela última vez
Atualizado em Data e hora da última atualização
detalhes da Conexão Arquivo .json de conexão

Erro:

<<SQL Command>> failed due to <<reason>>
Atualizar Catálogo
REFRESH [EXTERNAL] CATALOG <<catalog_name>>
Resposta :
Refresh Initiated

Gramática SQL do Esquema

O esquema suporta a gramática SQL listada para cargas de trabalho DDL.

O Oracle AI Data Platform Workbench suporta todos os tipos de dados Spark SQL padrão. Para obter mais informações, consulte Documentação do Apache Spark - Tipos de Dados Suportados.

Tabela 46-2 Lista de Gramáticas SQL do Esquema

Operação Gramática
Criar Esquema
CREATE SCHEMA [IF NOT EXISTS] catalog_name.schema_name

Resposta

<<SQL Command>> was successfully executed

Erro

Error: <<SQL Command>> failed due to <<reason>>
Alterar Esquema
Alterar Descrição do Esquema
ALTER SCHEMA <schema-name> set dbproperties (DESCRIPTION=<property-value>)
Resposta
<<SQL Command>> was successfully executed
Erro
Error: <<SQL Command>> failed due to <<reason>>
Excluir Esquema
DROP SCHEMA [ IF EXISTS ] <<schema_name>>

Por padrão, durante o esquema DROP, todos os objetos filhos também serão excluídos

Listar Esquemas
SHOW SCHEMAS [ { FROM | IN } catalog_name ] [ [ LIKE ] regex_pattern ]
Exemplos de:
  • SHOW SCHEMAS FROM defaultcatalog1 LIKE 'd*'
  • SHOW SCHEMAS IN defaultcatalog1 LIKE 'd*'
Resposta :
  Esquema
1 <<schema_1>>
2 <<schema_2>>
2 <<schema_3>>

Erro

Error: <<SQL Command>> failed due to <<reason>>
Descrever o Esquema (obter detalhes)

DESCRIBE SCHEMA <<catalog_name>>.<<schema_name>>

DESCRIBE SCHEMA <<schema_name>>

DESCRIBE SCHEMA <<schema_name>> in Catalog <<catalog_name>>

Atributo Valor
Nome do catálogo Nome do catálogo
Esquema Nome do esquema
Descrição Descrição do esquema
Criado por Usuário que criou o catálogo
Criado em Data e hora de criação
Atualizado por Usuário que atualizou o catálogo pela última vez
Atualizado em Data e hora da última atualização
Geográfica Local no catálogo
Eliminar Esquema drop schema [ IF EXISTS ] <<schema_name>> cascade
Atualizar Esquema
REFRESH SCHEMA IN [EXTERNAL] CATALOG <<catalog_name.schema_name>>
Resposta :
Refresh Initiated

Gramática SQL de Volume

Os objetos de volume suportam a gramática SQL listada para cargas de trabalho DDL.

O Oracle AI Data Platform Workbench suporta todos os tipos de dados Spark SQL padrão. Para obter mais informações, consulte Documentação do Apache Spark - Tipos de Dados Suportados.

Tabela 46-3 Gramática SQL de Volume

Operação Gramática
Criar Volume
CREATE [ EXTERNAL ] VOLUME [IF NOT EXISTS ] <<catalog_name.schema_name.volume_name>> [ LOCATION location_path ] [ PROPERTIES (DESCRIPTION = description ) ]
Alterar propriedades de volume
ALTER VOLUME <<volume_name>> { RENAME TO <<new_volume_name>> | [ set properties (DESCRIPTION = description) ] }
Eliminar volume
DROP VOLUME [ IF EXISTS ] <<volume_name>>

OR

DROP VOLUME <<catalog_name>>.<<schema_name>>.<<volume_name>>

Por padrão, durante o volume DROP, todos os objetos filhos também serão excluídos

Listar Volumes
SHOW VOLUMES [ { FROM | IN } catalog_name.schema_name ] [ [ LIKE ] regex_pattern } ] 
Descrever Volume
DESCRIBE VOLUME volume_name
Atributo Valor
Nome do catálogo Nome do catálogo
Nome do esquema Nome do esquema
Nome do volume Nome do volume
Descrição Descrição do volume definida pelo usuário
Geográfica Local no catálogo
Tipo de volume Tipo de volume

Erro:

Error: <<SQL Command>> failed due to <<reason>>

Gramática SQL da Tabela

Os objetos de tabela suportam a gramática SQL listada para cargas de trabalho DDL.

O Oracle AI Data Platform Workbench suporta todos os tipos de dados Spark SQL padrão. Para obter mais informações, consulte Documentação do Apache Spark - Tipos de Dados Suportados.

Operação Gramática
Criar Tabela
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <catalog_name>.<schema-name>.<table-name>
[ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ]
USING [HIVE|DELTA, CSV, TXT, ORC, JDBC, PARQUET, etc.]
[ options ( <key1>=<val1>[, ...]) ]
[ PARTITIONED BY (<par-column-name>[, ...]) ]
[ CLUSTERED BY ( <clus-column-name>[, ...])
    [ SORTED BY ( <sort-column-name> [ asc | desc ][, ...]) ]
    INTO <num_buckets> buckets]
[ LOCATION '<path>']
[TBLPROPERTIES ( DESCRIPTION = 'some-description', '<property-name>'='<property-value>'[, ...]) ]

Resposta :

<<SQL Command>> was successfully executed

Erro:

Error: <<SQL Command>> failed due to <<reason>>
Criar Tabela Gerenciada
Criar Tabela Gerenciada
CREATE TABLE <catalog>.<schema>.<table-name> [ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ] USING <format>;

Resposta :

<<SQL Command>> was successfully executed
Erro:
Error: <<SQL Command>> failed due to <<reason>>
Criar Tabela Gerenciada com Dados
create datatable <<catalog_name>>.<<schema_name>>.<<table_name>> [ ( <column1-name><column1-type> [comment <column1-comment>], ... ) ] tblproperties ('lakehouse_storage_format'='PARQUET') using parquet with select ( <column1-name>], ... ) from parquet.'oci://bucket@namespace/folder/'

Resposta :

<<SQL Command>> was successfully executed
Erro:
Error: <<SQL Command>> failed due to <<reason>>
Criar Tabela com Suporte Uniforme
CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <catalog_name>.<schema-name>.<table-name>
[ ( <column1-name> <column1-type> [comment <column1-comment>], ... ) ]
[TBLPROPERTIES ('delta.universalFormat.enabledFormats' = 'iceberg') ]
Alterar Tabela
ALTER TABLE table_old_name RENAME TO table_new_name
ALTER TABLE table_name ADD COLUMNS ( col_spec [ , ... ])
ALTER TABLE table_name DROP { COLUMN | COLUMNS } [ ( ] col_name [ , ... ] [ ) ]
ALTER TABLE table_name RENAME COLUMN col_name TO col_name
ALTER TABLE table_name ADD [IF NOT EXISTS] ( partition_spec [partition_spec ... ] )
ALTER TABLE table_name DROP [ IF EXISTS ] partition_spec [PURGE]
ALTER TABLE table_name set tblproperties (description ='some-description')
Eliminar Tabela
DROP TABLE [ IF EXISTS ] table_name [ PURGE ]

Resposta:

<<SQL Command>> was successfully executed

Erro:

Error: <<SQL Command>> failed due to <<reason>>
Listar Tabelas em um esquema
SHOW TABLES in catalog_name.schema_name [ LIKE <regex_pattern> ]

regex_pattern: Um padrão de expressão regular que é usado para filtrar os resultados da instrução.

Resposta :
<<namesake>>,tableName,isTemporary

Erro:

<<SQL Command>> failed due to <<reason>>
Descrever Tabela
DESCRIBE TABLE [ FORMAT ] catalog_name.schema_name.table_name [ PARTITION (<partition_col_name> = <partition_col_val>, ...) ] [ catalog_name.schema_name.table_name.column_name ]

Formato: Se EXTENDED for especificado como o formato, informações adicionais de metadados (como banco de dados pai, proprietário e tempo de acesso) serão retornadas.

DESCRIBE TABLE catalog.schema.table Resposta:

col_name,data_type,comment
DESCRIBE TABLE catalog.schema.table coluna Resposta:
info_name,info_value
Atualizar Tabela
REFRESH TABLE IN EXTERNAL CATALOG <<catalog_name.schema_name.table_name>>
Resposta :
Refresh Initiated

Consultas DML

Você pode executar consultas de seleção, inserção e exclusão em dados usando notebooks do Oracle AI Data Platform, SL, Python e scripts Spark.

Atualmente, o Oracle AI Data Platform Workbench suporta o Spark 3.5 com o Delta Lake 3.2.0. Para obter mais informações sobre consultas DML, consulte: