Eseguire l'autenticazione tra pool SQL e di Spark in Azure Synapse Analytics

Completato

Un altro modo per eseguire l'autenticazione consiste nell'usare l'autenticazione SQL anziché di Microsoft Entra ID con il connettore dal pool di Apache Spark di Azure Synapse a Synapse SQL.

Attualmente, il connettore dal pool di Apache Spark di Azure Synapse a Synapse SQL non supporta l'autenticazione basata su token in un pool SQL dedicato che si trova all'esterno dell'area di lavoro di Synapse Analytics. Per stabilire e trasferire dati in un pool SQL dedicato esterno all'area di lavoro senza Microsoft Entra ID, è necessario usare l'autenticazione SQL.

Per leggere dati da un pool SQL dedicato esterno all'area di lavoro senza Microsoft Entra ID, usare l'API Lettura. L'API Lettura funziona per le tabelle interne (tabelle gestite) e per le tabelle esterne nel pool SQL dedicato.

Quando si usa l'autenticazione SQL, l'API Lettura è simile all'esempio seguente:

val df = spark.read.
option(Constants.SERVER, "samplews.database.windows.net").
option(Constants.USER, <SQLServer Login UserName>).
option(Constants.PASSWORD, <SQLServer Login Password>).
sqlanalytics("<DBName>.<Schema>.<TableName>")

I parametri accettati sono i seguenti:

  • Constants.Server: specificare l'URL del server
  • Constants.USER: SQLServer Login UserName
  • Constants.PASSWORD: SQLServer Login Password
  • DBName: nome del database.
  • Schema: definizione dello schema, ad esempio dbo.
  • TableName: nome della tabella da cui si vogliono leggere i dati.

Per scrivere dati in un pool SQL dedicato, usare l'API di scrittura. L'API di scrittura crea la tabella nel pool SQL dedicato e quindi usa Polybase per caricare i dati nella tabella creata.

L'API di scrittura usando l'autenticazione SQL è simile all'esempio seguente:

df.write.
option(Constants.SERVER, "samplews.database.windows.net").
option(Constants.USER, <SQLServer Login UserName>).
option(Constants.PASSWORD, <SQLServer Login Password>).
sqlanalytics("<DBName>.<Schema>.<TableName>", <TableType>)

I parametri accettati sono i seguenti:

  • Constants.Server: specificare l'URL del server
  • Constants.USER: SQLServer Login UserName
  • Constants.PASSWORD: SQLServer Login Password
  • DBName: nome del database.
  • Schema: definizione dello schema, ad esempio dbo.
  • TableName: nome della tabella da cui si vogliono leggere i dati.
  • TableType: specifica del tipo di tabella, che può avere due valori.
    • Constants.INTERNAL: tabella gestita nel pool SQL dedicato
    • Constants.EXTERNAL: tabella esterna nel pool SQL dedicato