Megosztás a következőn keresztül:


Összevont lekérdezések futtatása a Google BigQueryben

Fontos

Ez a funkció a nyilvános előzetes verzióban érhető el.

Ez a cikk bemutatja, hogyan állíthatja be a Lakehouse Federationt összevont lekérdezések futtatására olyan BigQuery-adatokon, amelyeket nem az Azure Databricks kezel. További információ a Lakehouse Federation-ről: What is Lakehouse Federation.

Ha a Lakehouse Federation használatával szeretne csatlakozni a BigQuery-adatbázishoz, az alábbiakat kell létrehoznia az Azure Databricks Unity Catalog metaadattárában:

  • Kapcsolat a BigQuery-adatbázissal.
  • Egy idegen katalógus , amely tükrözi a BigQuery-adatbázist a Unity Catalogban, így a Unity Catalog lekérdezési szintaxisával és adatszabályozási eszközeivel kezelheti az Azure Databricks felhasználói hozzáférését az adatbázishoz.

Mielőtt elkezdené

Munkaterületre vonatkozó követelmények:

  • A Unity Cataloghoz engedélyezett munkaterület.

Számítási követelmények:

  • Hálózati kapcsolat a Databricks Runtime-fürtből vagy az SQL Warehouse-ból a céladatbázis-rendszerekhez. Lásd a Lakehouse Federation hálózatkezelési ajánlásait.
  • Az Azure Databricks-fürtöknek a Databricks Runtime 13.3 LTS vagy újabb verzióját kell használniuk, valamint megosztott vagy egyfelhasználós hozzáférési módot kell használniuk.
  • Az SQL-raktáraknak Pro vagy Kiszolgáló nélkülinek kell lenniük.

Szükséges engedélyek:

  • Kapcsolat létrehozásához metaadattár-rendszergazdának vagy felhasználónak kell lennie a CREATE CONNECTION munkaterülethez csatolt Unity Catalog metaadattára jogosultsággal.
  • Külföldi katalógus létrehozásához rendelkeznie kell a CREATE CATALOG metaadattár engedélyével, és vagy a kapcsolat tulajdonosának kell lennie, vagy jogosultsággal kell rendelkeznie CREATE FOREIGN CATALOG a kapcsolaton.

Az alábbi tevékenységalapú szakaszokban további engedélykövetelmények vannak megadva.

Kapcsolat létrehozása

A kapcsolat megadja a külső adatbázisrendszer eléréséhez szükséges elérési utat és hitelesítő adatokat. Kapcsolat létrehozásához használhatja a Catalog Explorert vagy az CREATE CONNECTION SQL-parancsot egy Azure Databricks-jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben.

Szükséges engedélyek: Metaadattár-rendszergazda vagy jogosultsággal CREATE CONNECTION rendelkező felhasználó.

Katalóguskezelő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus elemre Katalógus ikon .

  2. A Katalógus panel tetején kattintson aHozzáadás vagy plusz ikon Hozzáadás ikonra, és válassza a Kapcsolat hozzáadása lehetőséget a menüből.

    Másik lehetőségként a Gyorselérési lapon kattintson a Külső adatok >gombra, lépjen a Kapcsolatok lapra, és kattintson a Kapcsolat létrehozása parancsra.

  3. Adjon meg egy felhasználóbarát kapcsolatnevet.

  4. Válassza ki a BigQuery kapcsolattípusát .

  5. Adja meg a BigQuery-példány következő kapcsolati tulajdonságát.

    GoogleServiceAccountKeyJson: Nyers JSON-objektum, amely a BigQuery-projekt megadására és hitelesítésre szolgál. Létrehozhatja ezt a JSON-objektumot, és letöltheti azt a Google Cloud szolgáltatásfiók-részleteinek oldaláról a "KEYS" alatt. A szolgáltatásfióknak megfelelő engedélyekkel kell rendelkeznie a BigQueryben, beleértve a BigQuery-felhasználót és a BigQuery-adatmegjelenítőt. Például:

    {
      "type": "service_account",
      "project_id": "PROJECT_ID",
      "private_key_id": "KEY_ID",
      "private_key": "-----BEGIN PRIVATE KEY-----\nPRIVATE_KEY\n-----END PRIVATE KEY-----\n",
      "client_email": "SERVICE_ACCOUNT_EMAIL",
      "client_id": "CLIENT_ID",
      "auth_uri": "https://accounts.google.com/o/oauth2/auth",
      "token_uri": "https://accounts.google.com/o/oauth2/token",
      "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
      "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/SERVICE_ACCOUNT_EMAIL",
      "universe_domain": "googleapis.com"
    }
    
  6. (Nem kötelező) Kattintson a Kapcsolat tesztelése elemre a hálózati kapcsolat megerősítéséhez. Ez a művelet nem teszteli a hitelesítést.

  7. (Nem kötelező) Megjegyzés hozzáadása.

  8. Kattintson a Létrehozás gombra.

SQL

Futtassa a következő parancsot egy jegyzetfüzetben vagy a Databricks SQL-lekérdezésszerkesztőben. Cserélje le <GoogleServiceAccountKeyJson> egy nyers JSON-objektumra, amely megadja a BigQuery-projektet, és hitelesítést biztosít. Létrehozhatja ezt a JSON-objektumot, és letöltheti azt a Google Cloud szolgáltatásfiók-részleteinek oldaláról a "KEYS" alatt. A szolgáltatásfióknak megfelelő engedélyekkel kell rendelkeznie a BigQueryben, beleértve a BigQuery-felhasználót és a BigQuery-adatmegjelenítőt. Egy példa JSON-objektum esetén tekintse meg a Katalóguskezelő lapot ezen a lapon.

CREATE CONNECTION <connection-name> TYPE bigquery
OPTIONS (
  GoogleServiceAccountKeyJson '<GoogleServiceAccountKeyJson>'
);

Javasoljuk, hogy az Azure Databricks titkos kulcsait használja egyszerű szöveges sztringek helyett olyan bizalmas értékekhez, mint a hitelesítő adatok. Példa:

CREATE CONNECTION <connection-name> TYPE bigquery
OPTIONS (
  GoogleServiceAccountKeyJson secret ('<secret-scope>','<secret-key-user>')
)

A titkos kódok beállításáról további információt a Titkos kódok kezelése című témakörben talál.

Idegen katalógus létrehozása

A külső katalógus egy külső adatrendszer adatbázisát tükrözi, így az Azure Databricks és a Unity Catalog használatával lekérdezheti és kezelheti az adatbázisban lévő adatokhoz való hozzáférést. Ha idegen katalógust szeretne létrehozni, használjon egy kapcsolatot a már definiált adatforrással.

Idegen katalógus létrehozásához használhatja a Catalog Explorert, vagy CREATE FOREIGN CATALOG egy Azure Databricks-jegyzetfüzetet vagy a Databricks SQL-lekérdezésszerkesztőt.

Szükséges engedélyek: CREATE CATALOG a metaadattár engedélye, illetve a kapcsolat tulajdonjoga vagy a CREATE FOREIGN CATALOG kapcsolat jogosultsága.

Katalóguskezelő

  1. Az Azure Databricks-munkaterületen kattintson a Katalógus gombra Katalógus ikon a Catalog Explorer megnyitásához.

  2. A Katalógus panel tetején kattintson aHozzáadás vagy plusz ikon Hozzáadás ikonra, és válassza a Katalógus hozzáadása lehetőséget a menüből.

    Másik lehetőségként a Gyorselérési lapon kattintson a Katalógusok gombra, majd a Katalógus létrehozása gombra.

  3. Kövesse az utasításokat a külföldi katalógusok létrehozásakor a Katalógusok létrehozása területen.

SQL

Futtassa a következő SQL-parancsot egy jegyzetfüzetben vagy a Databricks SQL-szerkesztőben. A szögletes zárójelek nem kötelezőek. Cserélje le a helyőrző értékeket.

CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>;

Támogatott leküldéses leküldések

A következő leküldéses leküldések támogatottak:

  • Szűrők
  • Leképezések
  • Korlát
  • Függvények: részleges, csak szűrőkifejezésekhez. (Sztringfüggvények, matematikai függvények, adatok, idő- és időbélyegfüggvények és egyéb egyéb függvények, például Alias, Cast, SortOrder)
  • Összesítések
  • Rendezés, ha korláttal használjuk

A következő leküldéses leküldések nem támogatottak:

  • Összekapcsolások
  • Windows-függvények

Adattípus-leképezések

Az alábbi táblázat a BigQuery–Spark adattípus-leképezést mutatja be.

BigQuery-típus Spark-típus
bignumeric, numerikus Decimális típus
int64 LongType
float64 DoubleType
tömb, földrajzi hely, intervallum, json, sztring, struct VarcharType
bájt BinaryType
logikai Logikai típus
dátum: DateType
datetime, time, timetamp TimestampType/TimestampNTZType

Amikor a BigQueryből olvas, a BigQuery Timestamp a Sparkra TimestampType van leképezve, ha preferTimestampNTZ = false (alapértelmezett). BigQuery Timestamp van megfeleltetve, ha TimestampNTZType preferTimestampNTZ = true.