Delen via


Werken met metagegevens van de metrische weergave met behulp van het Databricks JDBC-stuurprogramma

Het Databricks JDBC-stuurprogramma ondersteunt verbeterde metagegevensbewerkingen waarmee hulpprogramma's en toepassingen voor business intelligence (BI) metrische weergaven kunnen worden gedetecteerd en metingenkolommen erin kunnen worden geïdentificeerd met behulp van standaardmetagegevensmethoden van JDBC.

BI-hulpprogramma's kunnen metrische weergaven afzonderlijk filteren en weergeven in gegevensbronbrowsers, geschikte SQL genereren door metingen te onderscheiden van dimensies en uitgebreide semantische laagmogelijkheden te bouwen. Hulpprogramma's voor gegevensverkenning kunnen gebruikers helpen bij het detecteren en begrijpen van beschikbare zakelijke metrische gegevens in uw catalogus.

Verbeterde metagegevens inschakelen

Verbeterde metagegevens voor metrische weergaven zijn standaard uitgeschakeld om compatibiliteit met eerdere versies te behouden. Schakel deze in met behulp van een JDBC-verbindingseigenschap of de spark SQL-configuratie-instelling.

Stel de verbindingseigenschap in op EnableMetricViewMetadata bij het 1 tot stand brengen van een JDBC-verbinding.

Verbindingseigenschappen gebruiken

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

JDBC-URL-parameters gebruiken

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

U kunt ook spark.databricks.metadata.metricview.enabled instellen op 1 in uw SQL-sessie:

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

Metrische weergaven identificeren

Gebruik de DatabaseMetaData.getTables() methode om metrische weergaven te detecteren. Als verbeterde metagegevens zijn ingeschakeld, retourneert METRIC_VIEW deze methode als de TABLE_TYPE voor metrische weergaven, zodat u deze kunt onderscheiden van normale weergaven en tabellen.

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

Maateenheidkolommen identificeren

Gebruik de DatabaseMetaData.getColumns() methode om metingkolommen in een metrische weergave te identificeren. Als verbeterde metagegevens zijn ingeschakeld, retourneert de kolom TYPE_NAME<data_type> measure voor meetkolommen (bijvoorbeeld 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 + ")");
    }
}

Filteren op tabeltype

Gebruik de DatabaseMetaData.getTableTypes() methode om beschikbare tabeltypen in uw catalogus te detecteren. Als verbeterde metagegevens zijn ingeschakeld, neemt deze methode METRIC_VIEW op in de lijst met beschikbare tabeltypen.

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

Compatibiliteit met eerdere versies

Standaard is EnableMetricViewMetadata ingesteld op 0 om achterwaartse compatibiliteit met bestaande toepassingen te behouden. Azure Databricks retourneert metrische weergaven als normaal VIEW type en metingkolommen tonen hun basisgegevenstype zonder het measure achtervoegsel.

Volgende stappen