JDBC- och ODBC-drivrutiner och konfigurationsparametrar

Du kan ansluta business intelligence (BI)-verktyg till Azure Databricks och skapa SQL för att fråga efter data i tabeller. Den här artikeln beskriver hur du hämtar JDBC- och ODBC-drivrutiner och konfigurationsparametrar för att ansluta till Azure Databricks-kluster SQL slutpunkter.

Verktygsspecifika anslutningsinstruktioner finns i Anslut BI-verktyg för att Azure Databricks eller Anslut BI-verktyg för SQL slutpunkter.

Behörighetskrav

Vilka behörigheter som krävs för att komma åt beräkningsresurser med JDBC eller ODBC beror på om du ansluter till ett Azure Databricks-kluster eller SQL slutpunkt.

Klusterkrav

För att få åtkomst tillett kluster måste du ha behörigheten Kan bifoga till.

Om du ansluter till ett avslutat kluster och har behörigheten Kan starta om startas klustret.

SQL slutpunktskrav

Om du vill komma SQL slutpunktmåste du ha behörigheten Kan använda.

Om du ansluter till en stoppad slutpunkt och har behörigheten Kan använda startas SQL slutpunkten.

Förbereda för att ansluta BI-verktyg

I det här avsnittet beskrivs de steg som du normalt följer för att förbereda för att ansluta till BI-verktyg:

Steg 1: Ladda ned och installera en JDBC- eller ODBC-drivrutin

För vissa BI-verktyg använder du en JDBC- eller ODBC-drivrutin för att upprätta en anslutning till Azure Databricks beräkningsresurser.

  1. Gå till nedladdningssidan för Databricks JDBC- eller ODBC-drivrutinen och ladda ned den. För ODBC väljer du rätt drivrutin för ditt operativsystem.
  2. Installera drivrutinen. För JDBC tillhandahålls en JAR som inte kräver installation. För ODBC tillhandahålls ett installationspaket för din valda plattform.

Steg 2: Samla in information om JDBC- eller ODBC-anslutning

Om du vill konfigurera en JDBC- eller ODBC-drivrutin måste du samla in anslutningsinformation från Azure Databricks. Här är några av de parametrar som en JDBC- eller ODBC-drivrutin kan kräva:

Parameter Värde
Autentisering Se Autentisering med användarnamn och lösenord.
Värd, port, HTTP-sökväg, JDBC-URL Se Hämta serverns värdnamn, port, HTTP-sökväg och JDBC-URL.

Följande anges vanligtvis i för httpPath JDBC och DSN conf för ODBC:

Parameter Värde
Spark-servertyp Spark Thrift-server
Schema/databas standard
Autentiseringsmekanism AuthMech Se Autentisering med användarnamn och lösenord.
Thrift-transport http
SSL 1

Autentisering med användarnamn och lösenord

I det här avsnittet beskrivs hur du samlar in autentiseringsuppgifter för att autentisera BI-verktyg för Azure Databricks beräkningsresurser.

När du konfigurerar autentisering från DITT BI-verktyg för Azure Databricks resurser anger du antingen fälten Användarnamn och Lösenord eller använder direkt Azure Active Directory autentisering. Ange Användarnamn till strängen token och Lösenord till en token enligt följande:

Hämta serverns värdnamn, port, HTTP-sökväg och JDBC-URL

Proceduren för att hämta JDBC- och ODBC-parametrar beror på om du använder Azure Databricks och SQL slutpunkter.

Hämta anslutningsinformation för kluster

  1. Klicka  på beräkningsikonen Compute i sidofältet.

  2. Klicka på ett kluster.

  3. Klicka på växlingsknappen Avancerade alternativ.

  4. Klicka på fliken JDBC/ODBC.

    Fliken JDBC-ODBC

  5. Kopiera de parametrar som krävs av DITT BI-verktyg.

Hämta anslutningsinformation för SQL slutpunkt

  1. Klicka  på ikonen Slutpunkter SQL slutpunkter i sidofältet.

  2. Klicka på en slutpunkt.

  3. Klicka på fliken Anslutningsinformation.

    Anslutningsinformation

  4. Kopiera de parametrar som krävs av DITT BI-verktyg.

Konfigurera JDBC-URL

Stegen för att konfigurera JDBC-URL:en beror på om du använder ett Azure Databricks kluster eller en SQL slutpunkt.

Konfigurera JDBC-URL för kluster

Autentisering med personlig åtkomsttoken

I följande URL ersätter du <personal-access-token> med den token som du skapade i Autentisering med användarnamn och lösenord. Ett exempel:

jdbc:spark://<server-hostname>:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/0/xxxx-xxxxxx-xxxxxxxx;AuthMech=3;UID=token;PWD=<personal-access-token>

Azure Active Directory tokenautentisering

  1. I följande URL

     jdbc:spark://<server-hostname>:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/0/xxxx-xxxxxx-xxxxxxxx;AuthMech=3;UID=token;PWD=<personal-access-token>
    

    ta bort de befintliga autentiseringsparametrarna ( AuthMech, UID, PWD ):

     AuthMech=3;UID=token;PWD=<personal-access-token>
    
  2. Lägg till följande parametrar och ersätt med <Azure AD token> den Azure AD-token som du fick i Autentisering med användarnamn och lösenord.

    AuthMech=11;Auth_Flow=0;Auth_AccessToken=<Azure AD token>
    

Se även Uppdatera en Azure Active Directory token.

Konfigurera JDBC-URL för SQL slutpunkt

Ersätt <personal-access-token> med den token som du skapade i Autentisering med användarnamn och lösenord. Ett exempel:

jdbc:spark://<server-hostname>:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/0/xxxx-xxxxxx-xxxxxxxx;AuthMech=3;UID=token;PWD=<personal-access-token>

Konfigurera anslutning för intern frågesyntax

JDBC- och ODBC-drivrutiner accepterar SQL frågor i ANSI SQL-92-dialekten och översätter frågorna till Spark SQL. Om ditt program genererar Spark SQL direkt eller om ditt program använder en SQL-standardsyntax som inte är ANSI SQL-92 och som är specifik för Azure Databricks, rekommenderar Databricks att du lägger till i ;UseNativeQuery=1 anslutningskonfigurationen. Med den inställningen skickar drivrutinerna SQL frågor ordagrant till Azure Databricks.

Konfigurera ODBC-datakällnamnet för Simba ODBC-drivrutinen

Konfigurationen för namn på datakälla (DSN) innehåller parametrarna för att kommunicera med en specifik databas. BI-verktyg som Tableau tillhandahåller vanligtvis ett användargränssnitt för att ange dessa parametrar. Om du måste installera och hantera Simba ODBC-drivrutinen själv kan du behöva skapa konfigurationsfilerna och även tillåta att din Driver Manager(ODBC-datakälladministratör på Windows och unixODBC / iODBC på Unix) får åtkomst till dem. Skapa två filer: /etc/odbc.ini och /etc/odbcinst.ini .

I det här avsnittet:

/etc/odbc.ini

Autentisering med användarnamn och lösenord

  1. Ange innehållet i /etc/odbc.ini till:

    [Databricks-Spark]
    Driver=Simba
    Server=<server-hostname>
    HOST=<server-hostname>
    PORT=<port>
    SparkServerType=3
    Schema=default
    ThriftTransport=2
    SSL=1
    AuthMech=3
    UID=token
    PWD=<personal-access-token>
    HTTPPath=<http-path>
    
  2. Ange <personal-access-token> till den token som du hämtade i Autentisering med användarnamn och lösenord.

  3. Ange parametrarna server, port och HTTP till de som du hämtade i Hämta serverns värdnamn, port, HTTP-sökväg och JDBC-URL.

Azure Active Directory tokenautentisering

  1. Ange innehållet i /etc/odbc.ini till:

    [Databricks-Spark]
    Driver=Simba
    Server=<server-hostname>
    HOST=<server-hostname>
    PORT=443
    HTTPPath=<http-path>
    SparkServerType=3
    Schema=default
    ThriftTransport=2
    SSL=1
    AuthMech=11
    Auth_Flow=0
    Auth_AccessToken=<Azure AD token>
    
  2. Ange <Azure AD token> till den Azure Active Directory-token som du hämtade i Autentisering med användarnamn och lösenord.

  3. Ange parametrarna server, port och HTTP till de som du hämtade i Hämta serverns värdnamn, port, HTTP-sökväg och JDBC-URL.

Se även Uppdatera en Azure Active Directory token.

/etc/odbcinst.ini

Ange innehållet i /etc/odbcinst.ini till:

[ODBC Drivers]
Simba = Installed
[Simba Spark ODBC Driver 64-bit]
Driver = <driver-path>

Ange <driver-path> enligt det operativsystem som du valde när du laddade ned drivrutinen i steg 1:

  • Macos /Library/simba/spark/lib/libsparkodbc_sbu.dylib
  • Linux (64-bitars) /opt/simba/spark/lib/64/libsparkodbc_sb64.so
  • Linux (32-bitars) /opt/simba/spark/lib/32/libsparkodbc_sb32.so

Konfigurera sökvägar för ODBC-konfigurationsfiler

Ange sökvägarna för de två filerna i miljövariabler så att de kan användas av Drivrutinshanteraren:

export ODBCINI=/etc/odbc.ini
export ODBCSYSINI=/etc/odbcinst.ini
export SIMBASPARKINI=<simba-ini-path>/simba.sparkodbc.ini # (Contains the configuration for debugging the Simba driver)

där <simba-ini-path> är

  • Macos /Library/simba/spark/lib
  • Linux (64-bitars) /opt/simba/sparkodbc/lib/64
  • Linux (32-bitars) /opt/simba/sparkodbc/lib/32

Uppdatera en Azure Active Directory token

En Azure Active Directory-token upphör att gälla efter 1 timme. Om åtkomsttoken inte uppdateras med hjälp av refresh_token måste du manuellt ersätta token med en ny. I det här avsnittet beskrivs hur du programmatiskt uppdaterar token för en befintlig session utan att anslutningen bryts.

  1. Följ stegen i Uppdatera en åtkomsttoken.
  2. Uppdatera token på följande sätt:
    • JDBC: Anropa java.sql.Connection.setClientInfo med det nya värdet för Auth_AccessToken .
    • ODBC: Anropa SQLSetConnectAttr för med det nya värdet för SQL_ATTR_CREDENTIALS Auth_AccessToken .

Felsökning

Se Felsöka JDBC- och ODBC-anslutningar.

Se även

Anslut Python och pyodbc till Azure Databricks