metadados partilhados do Azure Synapse Analytics
Azure Synapse Analytics permite que os diferentes motores computacionais da área de trabalho partilhem bases de dados e tabelas entre conjuntos do Apache Spark e conjuntos de SQL sem servidor.
A partilha suporta o chamado padrão de armazém de dados moderno e dá à área de trabalho motores SQL acesso a bases de dados e tabelas criadas com o Spark. Também permite que os motores SQL criem os seus próprios objetos que não estão a ser partilhados com os outros motores.
Suportar o armazém de dados moderno
O modelo de metadados partilhados suporta o padrão do armazém de dados moderno da seguinte forma:
Os dados do data lake são preparados e estruturados de forma eficiente com o Spark ao armazenar os dados preparados em tabelas suportadas por Parquet (possivelmente particionadas) contidas em possivelmente várias bases de dados.
As bases de dados criadas pelo Spark e todas as respetivas tabelas ficam visíveis em qualquer uma das Azure Synapse instâncias do conjunto do Spark e podem ser utilizadas a partir de qualquer uma das tarefas do Spark. Esta capacidade está sujeita às permissões , uma vez que todos os conjuntos do Spark numa área de trabalho partilham o mesmo meta store de catálogo subjacente.
As bases de dados criadas pelo Spark e as respetivas tabelas suportadas por Parquet ou com CSV ficam visíveis no conjunto de SQL sem servidor da área de trabalho. As bases de dados são criadas automaticamente nos metadados do conjunto de SQL sem servidor e as tabelas externas e geridas criadas por uma tarefa do Spark são tornadas acessíveis como tabelas externas nos metadados do conjunto de SQL sem servidor no
dbo
esquema da base de dados correspondente.
A sincronização de objetos ocorre de forma assíncrona. Os objetos terão um pequeno atraso de alguns segundos até aparecerem no contexto do SQL. Assim que aparecerem, podem ser consultados, mas não atualizados nem alterados pelos motores SQL que têm acesso aos mesmos.
Objetos de metadados partilhados
O Spark permite-lhe criar bases de dados, tabelas externas, tabelas geridas e vistas. Uma vez que as vistas do Spark requerem um motor Spark para processar a instrução SQL do Spark que define e não podem ser processadas por um motor SQL, apenas as bases de dados e as respetivas tabelas externas e geridas que utilizam o formato de armazenamento Parquet ou CSV são partilhadas com o motor SQL da área de trabalho. As vistas do Spark só são partilhadas entre as instâncias do conjunto do Spark.
Modelo de segurança rapidamente
As bases de dados e tabelas do Spark, juntamente com as respetivas representações sincronizadas no motor SQL, estão protegidas ao nível de armazenamento subjacente. Quando a tabela é consultada por qualquer um dos motores que o submetidor de consulta tem o direito de utilizar, o principal de segurança do submetidor de consulta está a ser transmitido para os ficheiros subjacentes. As permissões são verificadas ao nível do sistema de ficheiros.
Para obter mais informações, veja Azure Synapse base de dados partilhada do Analytics.
Alterar a manutenção
Se um objeto de metadados for eliminado ou alterado com o Spark, as alterações são recolhidas e propagadas para o conjunto de SQL sem servidor. A sincronização é assíncrona e as alterações refletem-se no motor SQL após um curto atraso.