Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der Databricks JDBC-Treiber unterstützt erweiterte Metadatenvorgänge, mit denen Business Intelligence (BI)-Tools und -Anwendungen Metrikansichten entdecken und in ihnen Messspalten mithilfe standardmäßiger JDBC-Metadatenmethoden identifizieren können.
BI-Tools können metrische Ansichten separat in Datenquellenbrowsern filtern und anzeigen, geeignete SQL generieren, indem Maße von Dimensionen unterschieden werden, und umfangreiche semantische Schichteigenschaften erstellen. Tools zur Datenerkundung können Benutzern helfen, verfügbare Geschäftsmetriken im gesamten Katalog zu ermitteln und zu verstehen.
Aktivieren erweiterter Metadaten
Erweiterte Metadaten für Metrikansichten sind standardmäßig deaktiviert, um die Abwärtskompatibilität beizubehalten. Aktivieren Sie es entweder mithilfe einer JDBC-Verbindungseigenschaft oder der Spark SQL-Konfigurationseinstellung.
Setzen Sie die EnableMetricViewMetadata-Verbindungseigenschaft auf 1, wenn Sie eine JDBC-Verbindung herstellen.
Verwenden von Verbindungseigenschaften
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);
Verwendung von JDBC-URL-Parametern
String url = "jdbc:databricks://<workspace-host>:443/default;" +
"httpPath=<http-path>;" +
"EnableMetricViewMetadata=1";
Connection connection = DriverManager.getConnection(url, properties);
Alternativ können Sie in Ihrer SQL-Sitzung spark.databricks.metadata.metricview.enabled auf 1 festlegen.
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
Metrikansichten identifizieren
Verwenden Sie die DatabaseMetaData.getTables() Methode, um Metrikansichten zu ermitteln. Wenn erweiterte Metadaten aktiviert sind, gibt diese Methode METRIC_VIEW als Kennung für Metrikansichten zurück, sodass Sie sie von regulären Ansichten und Tabellen unterscheiden können.
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);
}
Identifizieren von Messungsspalten
Verwenden Sie die DatabaseMetaData.getColumns()-Methode, um Messspalten in einer Metrikansicht zu identifizieren. Wenn erweiterte Metadaten aktiviert sind, gibt die TYPE_NAME-Spalte für Measurespalten wie <data_type> measure, int measure zurück (z. B. 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 + ")");
}
}
Nach Tabellentyp filtern
Verwenden Sie die DatabaseMetaData.getTableTypes() Methode, um verfügbare Tabellentypen in Ihrem Katalog zu ermitteln. Wenn erweiterte Metadaten aktiviert sind, schließt diese Methode METRIC_VIEW in die Liste der verfügbaren Tabellentypen ein.
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, ...
}
Abwärtskompatibilität
Standardmäßig wird EnableMetricViewMetadata auf 0 gesetzt, um die Abwärtskompatibilität mit vorhandenen Anwendungen zu gewährleisten. Azure Databricks gibt Metrikansichten als regulären VIEW Typ zurück, und Measurespalten zeigen ihren Basisdatentyp ohne das measure Suffix an.