Creating Data Catalog views using Amazon Glue APIs
You can use Amazon 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 Amazon 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 Amazon 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 Amazon Glue API atomically commits the result. Atomicity allows views with multiple dialects to be created or altered without any downtime.