Trabalhe com o Metodology view metadados usando o driver JDBC Databricks
O driver JDBC Databricks oferece suporte a operações de metadados aprimoradas que permitem que ferramentas e aplicativos de Business Intelligence (BI) descubram visualizações de métricas e identifiquem colunas de métricas usando métodos de metadados JDBC padrão.
As ferramentas BI podem filtrar e exibir métricas separadamente em navegadores de fontes de dados, gerar SQL apropriado distinguindo métricas de dimensões e construir recursos avançados de camada semântica. As ferramentas de exploração de dados podem ajudar os usuários a descobrir e compreender as métricas de negócios disponíveis em todo o seu catálogo.
Ativar metadados aprimorados
Os metadados aprimorados para a visualização de métricas estão desativados por default para manter a compatibilidade com versões anteriores. Habilite-o usando uma propriedade de conexão JDBC ou a configuração do Spark SQL.
Defina a propriedade de conexão EnableMetricViewMetadata como 1 ao estabelecer uma conexão JDBC.
- Using connection properties
- Using JDBC URL parameters
Properties properties = new Properties();
properties.setProperty("UID", "<username>");
properties.setProperty("PWD", "<password>");
properties.setProperty("EnableMetricViewMetadata", "1");
String url = "jdbc:databricks://<workspace-host>:443/default;httpPath=<http-path>";
Connection connection = DriverManager.getConnection(url, properties);
String url = "jdbc:databricks://<workspace-host>:443/default;" +
"httpPath=<http-path>;" +
"EnableMetricViewMetadata=1";
Connection connection = DriverManager.getConnection(url, properties);
Alternativamente, defina spark.databricks.metadata.metricview.enabled como 1 em sua sessão SQL:
Connection connection = DriverManager.getConnection(url, properties);
Statement statement = connection.createStatement();
statement.execute("SET spark.databricks.metadata.metricview.enabled=1");
// Metadata operations now return enhanced metric view information
Identifique-nos
Use o método DatabaseMetaData.getTables() para descobrir a visualização de métricas. Com metadados aprimorados ativados, este método retorna METRIC_VIEW como TABLE_TYPE para visualização de métricas, para que você possa distingui-las da visualização e tabelas regulares.
Connection connection = DriverManager.getConnection(url, properties);
DatabaseMetaData metadata = connection.getMetaData();
ResultSet tables = metadata.getTables(catalog, schema, "<metric_view>", null);
while (tables.next()) {
String tableName = tables.getString("TABLE_NAME");
String tableType = tables.getString("TABLE_TYPE"); // Returns "METRIC_VIEW"
System.out.println("Metric View: " + tableName);
}
Identificar colunas de medição
Use o método DatabaseMetaData.getColumns() para identificar colunas de medidas em uma view de métricas. Com metadados aprimorados ativados, a coluna TYPE_NAME retorna <data_type> measure para colunas de medidas (por exemplo, int measure, double measure).
Connection connection = DriverManager.getConnection(url, properties);
DatabaseMetaData metadata = connection.getMetaData();
ResultSet columns = metadata.getColumns(catalog, schema, metricViewName, "%");
while (columns.next()) {
String columnName = columns.getString("COLUMN_NAME");
String typeName = columns.getString("TYPE_NAME");
if (typeName.endsWith(" measure")) {
System.out.println("Measure column: " + columnName + " (" + typeName + ")");
} else {
System.out.println("Dimension column: " + columnName + " (" + typeName + ")");
}
}
Filtrar por tipo de tabela
Use o método DatabaseMetaData.getTableTypes() para descobrir os tipos de tabela disponíveis em seu catálogo. Com metadados aprimorados ativados, este método inclui METRIC_VIEW na lista de tipos de tabela disponíveis.
Connection connection = DriverManager.getConnection(url, properties);
DatabaseMetaData metadata = connection.getMetaData();
ResultSet tableTypes = metadata.getTableTypes();
while (tableTypes.next()) {
String tableType = tableTypes.getString("TABLE_TYPE");
System.out.println("Available table type: " + tableType);
// Output includes: TABLE, VIEW, METRIC_VIEW, ...
}
Compatibilidade com versões anteriores
Por default, EnableMetricViewMetadata é definido como 0 para manter a compatibilidade com versões anteriores de aplicativos. Databricks retorna a visualização de métricas como tipo VIEW regular e as colunas de medidas mostram seu tipo de dados base sem o sufixo measure .