Creating Data Catalog views using AWS Glue APIs
You can use AWS Glue CreateTable, and UpdateTable APIs to create and update views in the Data Catalog. The
CreateTable and UpdateTable operations have a new
TableInput structure for ViewDefinition, while
SearchTables, GetTable, GetTables,
GetTableVersion, GetTableVersions operations provide the
ViewDefinition in their output syntax for views. Additionally, there is
a new Status field in the GetTable API output.
Two new AWS Glue connections are available for validating the SQL dialect for each supported query engine, Amazon Athena and Amazon Redshift.
The CreateTable and UpdateTable APIs are asynchronous when used
with views. When these APIs are called with multiple SQL dialects, the call are
validated with each engine to determine whether the dialect can be run on that engine,
and if the resulting schema of the view from each dialect matches.
The AWS Glue service uses these connections to make internal calls to the analytical engines.
These calls simulates what the engine does to validate if a CREATE VIEW or
ALTER VIEW SQL DDL were executed on the engine.
If the SQL provided is valid, and the schemas match between view dialects, the AWS Glue API atomically commits the result. Atomicity allows views with multiple dialects to be created or altered without any downtime.