Grammatica SQL

Gli utenti di Oracle AI Data Platform Workbench possono utilizzare SQL per automatizzare i carichi di lavoro DDL.

Grammatica SQL catalogo

Gli oggetti catalogo supportano la grammatica SQL elencata per i carichi di lavoro DDL.

Oracle AI Data Platform Workbench supporta tutti i tipi di dati SQL Spark standard. Per ulteriori informazioni, vedere la Documentazione Apache Spark - Tipi di dati supportati.

Tabella 46-1 Grammatica SQL catalogo standard ed esterno

Operazione Grammatica
Crea catalogo

Catalogo

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

Catalogo esterno

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

OPTIONS con i dettagli di connessione

Catalogo esterno - Esempio di 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')"

Risposta

Catalog <<catalog_name>> created successfully

Errore

<<SQL Command>> failed due to <<reason>>
Modifica catalogo

Modifica nome catalogo

ALTER CATALOG old_catalog_name RENAME new_catalog_name;

Modifica descrizione catalogo

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

Modifica opzioni catalogo (connessione)

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

Risposta

Catalog <<catalog_name>> updated successfully

Errore

<<SQL Command>> failed due to <<reason>>
Elimina il catalogo
DROP CATALOG [ IF EXISTS ] catalog_name

Per impostazione predefinita durante il catalogo DROP, verranno eliminati anche tutti gli oggetti figlio

Risposta

Catalog <<catalog_name>> dropped successfully

Errore

<<SQL Command>> failed due to <<reason>>
Cataloghi lista
SHOW CATALOGS [ [ LIKE ] [ regex_pattern ] [ TYPE = EXTERNAL CATALOG | CATALOG ]

regex_pattern: pattern di espressione regolare utilizzato per filtrare i risultati dell'istruzione.

Risposta:
Catalogo Type
<<nome_catalogo>> Catalogo | Catalogo esterno
<<nome_catalogo>> Catalogo | Catalogo esterno
<<nome_catalogo>> Catalogo | Catalogo esterno

Errore

<<SQL Command>> failed due to <<reason>>
Descrivi catalogo
DESC CATALOG <<catalog_name>>
DESCRIBE CATALOG <<catalog_name>>
Risposta (catalogo standard):
Attributo Valore
Nome Nome catalogo standard
Type Catalogo standard
Descrizione Descrizione catalogo standard
Creata da Principal che ha creato il catalogo standard
Data creazione Data e ora di creazione
Aggiornamento di Principale che ha eseguito l'ultimo aggiornamento del catalogo standard
Data aggiornamento Data e ora ultimo aggiornamento
Risposta (catalogo esterno):
Attributo Valore
Nome Nome catalogo esterno
Type Catalogo esterno
Tipo di origine Origine del catalogo esterno (ad esempio, Oracle Autonomous AI Lakehouse)
Descrizione Descrizione catalogo esterno
Creata da Principal che ha creato il catalogo esterno
Data creazione Data e ora di creazione
Aggiornamento di Principale che ha aggiornato per ultimo il catalogo esterno
Data aggiornamento Data e ora ultimo aggiornamento
Dettagli connessione File .json di connessione

Errore:

<<SQL Command>> failed due to <<reason>>
Aggiorna catalogo
REFRESH [EXTERNAL] CATALOG <<catalog_name>>
Risposta:
Refresh Initiated

Grammatica SQL schema

Lo schema supporta la grammatica SQL elencata per i carichi di lavoro DDL.

Oracle AI Data Platform Workbench supporta tutti i tipi di dati SQL Spark standard. Per ulteriori informazioni, vedere la Documentazione Apache Spark - Tipi di dati supportati.

Tabella 46-2 Lista di grammatica SQL dello schema

Operazione Grammatica
Crea schema
CREATE SCHEMA [IF NOT EXISTS] catalog_name.schema_name

Risposta

<<SQL Command>> was successfully executed

Errore

Error: <<SQL Command>> failed due to <<reason>>
Modifica schema
Modifica descrizione schema
ALTER SCHEMA <schema-name> set dbproperties (DESCRIPTION=<property-value>)
Risposta
<<SQL Command>> was successfully executed
Errore
Error: <<SQL Command>> failed due to <<reason>>
Elimina schema
DROP SCHEMA [ IF EXISTS ] <<schema_name>>

Per impostazione predefinita durante lo schema DROP, verranno eliminati anche tutti gli oggetti figlio

Elenca schemi
SHOW SCHEMAS [ { FROM | IN } catalog_name ] [ [ LIKE ] regex_pattern ]
Esempi:
  • SHOW SCHEMAS FROM defaultcatalog1 LIKE 'd*'
  • SHOW SCHEMAS IN defaultcatalog1 LIKE 'd*'
Risposta:
  Schema
1 <<schema_1>>>
2 <<schema_2>>>
2 <<schema_3>>>

Errore

Error: <<SQL Command>> failed due to <<reason>>
Descrivere lo schema (get details)

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

DESCRIBE SCHEMA <<schema_name>>

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

Attributo Valore
Nome catalogo Nome catalogo
Schema Nome dello schema
Descrizione Descrizione schema
Creata da Utente che ha creato il catalogo
Data creazione Data e ora di creazione
Aggiornamento di Utente che ha eseguito l'ultimo aggiornamento del catalogo
Data aggiornamento Data e ora ultimo aggiornamento
geografica Posizione del catalogo
Elimina schema drop schema [ IF EXISTS ] <<schema_name>> cascade
Aggiorna schema
REFRESH SCHEMA IN [EXTERNAL] CATALOG <<catalog_name.schema_name>>
Risposta:
Refresh Initiated

Grammatica SQL volume

Gli oggetti volume supportano la grammatica SQL elencata per i carichi di lavoro DDL.

Oracle AI Data Platform Workbench supporta tutti i tipi di dati SQL Spark standard. Per ulteriori informazioni, vedere la Documentazione Apache Spark - Tipi di dati supportati.

Tabella 46-3 Grammatica SQL volume

Operazione Grammatica
Crea volume
CREATE [ EXTERNAL ] VOLUME [IF NOT EXISTS ] <<catalog_name.schema_name.volume_name>> [ LOCATION location_path ] [ PROPERTIES (DESCRIPTION = description ) ]
Modifica proprietà volume
ALTER VOLUME <<volume_name>> { RENAME TO <<new_volume_name>> | [ set properties (DESCRIPTION = description) ] }
Elimina volume
DROP VOLUME [ IF EXISTS ] <<volume_name>>

OR

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

Per impostazione predefinita durante il volume DROP, verranno eliminati anche tutti gli oggetti figlio

Elenca volumi
SHOW VOLUMES [ { FROM | IN } catalog_name.schema_name ] [ [ LIKE ] regex_pattern } ] 
Descrivi volume
DESCRIBE VOLUME volume_name
Attributo Valore
Nome catalogo Nome catalogo
Nome dello schema Nome dello schema
Nome volume Nome volume
Descrizione Descrizione del volume definita dall'utente
geografica Posizione in catalogo
Tipo di volume Tipo di volume

Errore:

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

Grammatica SQL tabella

Gli oggetti tabella supportano la grammatica SQL elencata per i carichi di lavoro DDL.

Oracle AI Data Platform Workbench supporta tutti i tipi di dati SQL Spark standard. Per ulteriori informazioni, vedere la Documentazione Apache Spark - Tipi di dati supportati.

Operazione Grammatica
Crea tabella
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>'[, ...]) ]

Risposta:

<<SQL Command>> was successfully executed

Errore:

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

Risposta:

<<SQL Command>> was successfully executed
Errore:
Error: <<SQL Command>> failed due to <<reason>>
Crea tabella gestita con dati
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/'

Risposta:

<<SQL Command>> was successfully executed
Errore:
Error: <<SQL Command>> failed due to <<reason>>
Crea tabella con supporto 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') ]
Altera tabella
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')
Elimina tabella
DROP TABLE [ IF EXISTS ] table_name [ PURGE ]

Risposta:

<<SQL Command>> was successfully executed

Errore:

Error: <<SQL Command>> failed due to <<reason>>
Elenca tabelle in uno schema
SHOW TABLES in catalog_name.schema_name [ LIKE <regex_pattern> ]

regex_pattern: pattern di espressione regolare utilizzato per filtrare i risultati dell'istruzione.

Risposta:
<<namesake>>,tableName,isTemporary

Errore:

<<SQL Command>> failed due to <<reason>>
Descrivi tabella
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 si specifica EXTENDED come formato, vengono restituite ulteriori informazioni sui metadati, ad esempio il database padre, il proprietario e l'ora di accesso.

DESCRIBE TABLE catalog.schema.table Risposta:

col_name,data_type,comment
DESCRIBE TABLE catalog.schema.table column Risposta:
info_name,info_value
Aggiorna la tabella
REFRESH TABLE IN EXTERNAL CATALOG <<catalog_name.schema_name.table_name>>
Risposta:
Refresh Initiated

Query DML

È possibile eseguire query di selezione, inserimento ed eliminazione sui dati utilizzando notebook di Oracle AI Data Platform, script SL, Python e Spark.

Oracle AI Data Platform Workbench attualmente supporta Spark 3.5 con Delta Lake 3.2.0. Per ulteriori informazioni sulle query DML, vedere: