Autentisera mellan Spark- och SQL-pool i Azure Synapse Analytics
Ett annat sätt att autentisera är att använda SQL-autentisering i stället för Microsoft Entra-ID med Azure Synapse Apache Spark-poolen till Synapse SQL-anslutningsappen.
Azure Synapse Apache Spark-poolen till Synapse SQL-anslutningsappen stöder för närvarande inte en tokenbaserad autentisering till en dedikerad SQL-pool som ligger utanför arbetsytan i Synapse Analytics. För att upprätta och överföra data till en dedikerad SQL-pool som ligger utanför arbetsytan utan Microsoft Entra-ID måste du använda SQL-autentisering.
Om du vill läsa data från en dedikerad SQL-pool utanför din arbetsyta utan Microsoft Entra-ID använder du Läs-API:et. Läs-API:et fungerar för interna tabeller (hanterade tabeller) och externa tabeller i den dedikerade SQL-poolen.
Läs-API:et ser ut så här när du använder SQL-autentisering:
val df = spark.read.
option(Constants.SERVER, "<server-name>.database.windows.net").
option(Constants.USER, <SQLServer Login UserName>).
option(Constants.PASSWORD, <SQLServer Login Password>).
sqlanalytics("<DBName>.<Schema>.<TableName>")
Parametrarna som tas in är:
- Constants.Server: ange serverns URL
- Constants.USER: SQLServer Login UserName
- Constants.PASSWORD: SQLServer-inloggningslösenord
- DBName: namnet på databasen.
- Schema: schemadefinitionen, till exempel dbo.
- TableName: namnet på den tabell som du vill läsa data från.
För att kunna skriva data till en dedikerad SQL-pool använder du skriv-API:et. Skriv-API:et skapar tabellen i den dedikerade SQL-poolen och använder sedan Polybase för att läsa in data i tabellen som skapades.
Skriv-API:et med SQL Auth ser ut så här:
df.write.
option(Constants.SERVER, "<server-name>.database.windows.net").
option(Constants.USER, <SQLServer Login UserName>).
option(Constants.PASSWORD, <SQLServer Login Password>).
sqlanalytics("<DBName>.<Schema>.<TableName>", <TableType>)
Parametrarna som tas in är:
- Constants.Server: ange URL-adressen till servern
- Constants.USER: SQLServer Login UserName
- Constants.PASSWORD: SQLServer-inloggningslösenord
- DBName: namnet på databasen.
- Schema: schemadefinitionen, till exempel dbo.
- TableName: namnet på den tabell som du vill läsa data från.
-
TableType: specifikation av typen av tabell, som kan ha två värden.
- Constants.INTERNAL – Hanterad tabell i en dedikerad SQL-pool
- Constants.EXTERNAL – extern tabell i en dedikerad SQL-pool