Dela via


Köra federerade frågor på Teradata

Viktig

Den här funktionen finns i offentlig förhandsversion.

Den här artikeln beskriver hur du konfigurerar Lakehouse Federation för att köra federerade frågor på Teradata-data som inte hanteras av Azure Databricks. Mer information om Lakehouse Federation finns i Vad är Lakehouse Federation?.

Om du vill ansluta till din Teradata-databas med Lakehouse Federation måste du skapa följande i azure Databricks Unity Catalog-metaarkivet:

  • En anslutning till din Teradata-databas.
  • En utländsk katalog som speglar din Teradata-databas i Unity Catalog så att du kan använda Unity Catalogs frågesyntax och verktyg för datastyrning för att hantera användaråtkomst till Azure Databricks-databasen.

Innan du börjar

Innan du börjar måste du uppfylla kraven i det här avsnittet.

Databricks-krav

Krav för arbetsyta:

  • Arbetsytan är aktiverad för Unity Catalog.

Beräkningskrav:

  • Nätverksanslutning från beräkningsresursen till måldatabassystemen. Se Nätverksrekommendationer för Lakehouse Federation.
  • Azure Databricks-beräkning måste använda Databricks Runtime 16.1 eller senare och Delad eller Åtkomstläge för en användare.
  • SQL-lager måste vara pro eller serverlösa och måste använda 2024.50 eller senare.

Behörigheter som krävs:

  • Om du vill skapa en anslutning måste du vara metaarkivadministratör eller användare med CREATE CONNECTION behörighet i Unity Catalog-metaarkivet som är kopplat till arbetsytan.
  • Om du vill skapa en extern katalog måste du ha behörigheten CREATE CATALOG i metaarkivet och antingen vara ägare till anslutningen eller ha CREATE FOREIGN CATALOG behörighet för anslutningen.

Ytterligare behörighetskrav anges i varje aktivitetsbaserat avsnitt som följer.

Krav för Teradata

Skapa en Azure Databricks-anslutning

En anslutning anger en sökväg och autentiseringsuppgifter för åtkomst till ett externt databassystem. Om du vill skapa en anslutning kan du använda Catalog Explorer eller kommandot CREATE CONNECTION SQL i en Azure Databricks-notebook-fil eller Databricks SQL-frågeredigeraren.

Not

Du kan också använda Databricks REST API eller Databricks CLI för att skapa en anslutning. Se kommandona POST /api/2.1/unity-catalog/connections och Unity Catalog.

Behörigheter som krävs: metaarkivadministratör eller användare med CREATE CONNECTION behörighet.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på katalogikonenKatalog.

  2. Längst upp i fönstret Catalog, klicka på ikonen Lägg till eller plusLägg till och välj Lägg till en anslutning från menyn.

    Från sidan Snabbåtkomst klickar du på knappen Externa data >, går till fliken Anslutningar och klickar på Skapa anslutning.

  3. Ange ett användarvänligt Anslutningsnamnpå sidan Anslutningsgrunder i guiden Anslutningsinställning.

  4. Välj en anslutningstyp av Teradata.

  5. (Valfritt) Lägg till en kommentar.

  6. Klicka på Nästa.

  7. På sidan Authentication anger du följande anslutningsegenskaper för Teradata-instansen:

    • Host: Till exempel teradata-demo.teradata.com
    • Port: Till exempel 1025
    • Användare: Till exempel teradata_user
    • Lösenord: Till exempel password123
  8. Klicka på Skapa anslutning.

  9. catalog basics-sidan anger du ett namn för den externa katalogen. En extern katalog speglar en databas i ett externt datasystem så att du kan köra frågor mot och hantera åtkomst till data i databasen med hjälp av Azure Databricks och Unity Catalog.

  10. (Valfritt) Klicka på Testa anslutningen för att bekräfta att den fungerar.

  11. Klicka på Skapa katalog.

  12. På sidan Access väljer du de arbetsytor där användarna kan komma åt katalogen som du skapade. Du kan välja Alla arbetsytor har åtkomsteller klicka på Tilldela till arbetsytor, välj arbetsytor och klicka sedan på Tilldela.

  13. Ändra ägare som kommer att kunna hantera åtkomst till alla objekt i katalogen. Börja skriva en användare i textrutan och klicka sedan på användaren i sökresultaten.

  14. Bevilja privilegier i katalogen. Klicka på Bevilja:

    1. Ange principals vem som ska ha åtkomst till objekt i katalogen. Börja skriva en principal i textrutan och klicka sedan på principen i de returnerade resultaten.
    2. Välj Privilege-förinställningar att bevilja varje huvudman. Alla kontoanvändare beviljas BROWSE som standard.
      • Välj dataläsare från den nedrullningsbara menyn för att bevilja read behörigheter för objekt i katalogen.
      • Välj dataredigeraren från den nedrullningsbara menyn för att bevilja read och modify behörigheter för objekt i katalogen.
      • Välj de behörigheter som ska beviljas manuellt.
    3. Klicka på Bevilja.
  15. Klicka på Nästa.

  16. På sidan metadata anger du taggar för nyckel/värde-par. Mer information finns i Tillämpa taggar på skyddsbara objekt i Unity Catalog.

  17. (Valfritt) Lägg till en kommentar.

  18. Klicka på Spara.

SQL

Kör följande kommando i en notebook-fil eller Databricks SQL-frågeredigeraren:

CREATE CONNECTION <connection-name> TYPE teradata
OPTIONS (
  host '<hostname>',
  port '<port>',
  user '<user>',
  password '<password>'
);

Databricks rekommenderar att du använder Azure Databricks hemligheter i stället för oformaterade strängar för känsliga värden som autentiseringsuppgifter. Till exempel:

CREATE CONNECTION <connection-name> TYPE teradata
OPTIONS (
  host '<hostname>',
  port '<port>',
  user secret ('<secret-scope>','<secret-key-user>'),
  password secret ('<secret-scope>','<secret-key-password>')
)

Om du måste använda textsträngar i SQL-kommandon för notebook-filer bör du undvika att trunkera strängen genom att undvika specialtecken som $ med \. Till exempel: \$.

Information om hur du konfigurerar hemligheter finns i Hemlighetshantering.

Skapa en utländsk katalog

Anmärkning

Om du använder användargränssnittet för att skapa en anslutning till datakällan inkluderas skapande av utländsk katalog och du kan hoppa över det här steget.

En extern katalog speglar en databas i ett externt datasystem så att du kan köra frågor mot och hantera åtkomst till data i databasen med hjälp av Azure Databricks och Unity Catalog. För att skapa en extern katalog använder du en anslutning till datakällan som redan har definierats.

Om du vill skapa en utländsk katalog kan du använda Catalog Explorer eller kommandot CREATE FOREIGN CATALOG SQL i en Azure Databricks-notebook eller SQL-frågeredigeraren.

Du kan också använda Databricks REST API eller Databricks CLI för att skapa en katalog. Se kommandona POST /api/2.1/unity-catalog/catalogs och Unity Catalog.

behörigheter som krävs:CREATE CATALOG behörighet för metaarkivet och antingen ägarskap för anslutningen eller CREATE FOREIGN CATALOG behörighet för anslutningen.

Katalogutforskaren

  1. På din Azure Databricks-arbetsyta klickar du på ikonen KatalogCatalog för att öppna Katalogutforskaren.

  2. Längst upp i fönstret Catalog klickar du på ikonen Lägg till eller plusikonen Lägg till och väljer Lägg till en katalog på menyn.

    Från sidan Snabbåtkomst klickar du på knappen Kataloger och klickar sedan på knappen Skapa katalog.

  3. Följ anvisningarna för att skapa externa kataloger i Skapa kataloger.

SQL

Kör följande SQL-kommando i en notebook- eller SQL-frågeredigerare. Objekt inom hakparenteser är valfria. Ersätt platshållarvärdena:

  • <catalog-name>: Namn på katalogen i Azure Databricks.
  • <connection-name>: Det anslutningsobjektet som anger autentiseringsuppgifterna för datakälla, sökväg och åtkomst.
  • <database-name>: Namnet på databasen som du vill spegla som en katalog i Azure Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');

Pushdowns som stöds

Följande pushdowns stöds:

  • Filter
  • Prognoser
  • Gräns
  • Aggregat
  • Rollista
  • Innehåller, Börjar med, Slutar med, Som

Datatypsmappningar

När du läser från Teradata till Spark mappar datatyper på följande sätt:

Teradata-typ Spark-typ
Byte, Blob Binärtyp
Byteint, Smallint, Heltal IntegerType
BigInt LongType
Flyttal, Dubbel, Dubbel precision DoubleType
Tal(n, m) Decimaltyp
Nummer(, m), Nummer(), Nummer Inte stödd
Varchar(N) strängtyp
Tid, tidsstämpel Tidsstämpeltyp