Udostępnij przez


Praca z metadanymi widoku metryk przy użyciu sterownika JDBC usługi Databricks

Sterownik JDBC usługi Databricks obsługuje rozszerzone operacje metadanych, które umożliwiają narzędziom i aplikacjom analizy biznesowej odnajdywanie widoków metryk i identyfikowanie kolumn miar w nich przy użyciu standardowych metod metadanych JDBC.

Narzędzia analizy biznesowej mogą filtrować i wyświetlać widoki metryk oddzielnie w przeglądarkach źródeł danych, generować odpowiedni kod SQL, rozróżniając miary od wymiarów i tworząc zaawansowane możliwości warstw semantycznych. Narzędzia do eksploracji danych mogą ułatwić użytkownikom odnajdywanie i interpretowanie dostępnych metryk biznesowych w katalogu.

Włączanie rozszerzonych metadanych

Rozszerzone metadane widoków metryk są domyślnie wyłączone, aby zachować zgodność z poprzednimi wersjami. Włącz ją przy użyciu właściwości połączenia JDBC lub ustawienia konfiguracji Spark SQL.

EnableMetricViewMetadata Ustaw właściwość połączenia na wartość 1 podczas nawiązywania połączenia JDBC.

Korzystanie z właściwości połączenia

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);

Używanie parametrów adresu URL JDBC

String url = "jdbc:databricks://<workspace-host>:443/default;" +
             "httpPath=<http-path>;" +
             "EnableMetricViewMetadata=1";
Connection connection = DriverManager.getConnection(url, properties);

Możesz też ustawić wartość spark.databricks.metadata.metricview.enabled na 1 w sesji 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

Identyfikowanie widoków metryk

Użyj metody DatabaseMetaData.getTables(), aby odnaleźć widoki metryk. Po włączeniu rozszerzonych metadanych ta metoda zwraca METRIC_VIEW jako TABLE_TYPE dla widoków metryk, dzięki czemu można je odróżnić od zwykłych widoków i tabel.

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);
}

Identyfikowanie kolumn miar

Użyj metody DatabaseMetaData.getColumns(), aby zidentyfikować kolumny miar w widoku metryki. Po włączeniu rozszerzonych metadanych kolumna TYPE_NAME zwraca <data_type> measure kolumny miar (na przykład 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 + ")");
    }
}

Filtruj według typu tabeli

DatabaseMetaData.getTableTypes() Użyj metody , aby odnaleźć dostępne typy tabel w katalogu. Po włączeniu rozszerzonych metadanych ta metoda zawiera METRIC_VIEW na liście dostępnych typów tabel.

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, ...
}

Zgodność z poprzednimi wersjami

Domyślnie EnableMetricViewMetadata jest ustawiony na 0, aby zachować kompatybilność z istniejącymi aplikacjami. Usługa Azure Databricks zwraca widoki metryk jako zwykły VIEW typ, a kolumny miar pokazują ich podstawowy typ danych bez sufiksu measure .

Dalsze kroki