Sdílet prostřednictvím


Podporované vlastnosti připojení

Tento článek popisuje vlastnosti připojení podporované ovladačem Databricks JDBC verze 3 a vyšší.

Vlastnosti autentizace a proxy serveru

Ovladač Databricks JDBC podporuje následující vlastnosti ověřování a proxy serveru. Vlastnosti nerozlišují velikost písmen.

Vlastnictví Výchozí hodnota Popis
AsyncExecPollInterval 200 Čas v milisekundách mezi každým zjišťováním stavu asynchronního spuštění dotazu. Asynchronní odkazuje na skutečnost, že volání RPC použité k provedení dotazu na Spark je asynchronní. Neznamená to, že jsou podporovány asynchronní operace JDBC.
Auth_Flow 0 Tok ověřování OAuth2 pro připojení ovladače Tato vlastnost je vyžadována, pokud je AuthMech11.
Auth_JWT_Alg RS256 Algoritmus pro ověřování JWT privátního klíče. Podporované algoritmy jsou: RSA: RS256, RS384, RS512, PS256, PS384, PS512 a EC: ES256, ES384, ES512
Auth_JWT_Key_File null Cesta k souboru privátního klíče (formát PEM) pro ověřování JWT.
Auth_JWT_Key_Passphrase null Heslo pro dešifrování šifrovaného privátního klíče.
Auth_KID null Identifikátor klíče (KID) vyžadovaný pro ověřování JWT. To je povinné při použití privátního klíče JWT.
Auth_RefreshToken null Obnovovací token OAuth2 použitý k načtení nového přístupového tokenu.
Auth_Scope all-apis Rozsah ověřování pro toky OAuth2.
AuthMech Povinné Mechanismus ověřování, kde 3 určuje, že mechanismus je osobní přístupový token Azure Databricks, a 11 určuje, že mechanismus je token OAuth 2.0. Pro každý mechanismus jsou vyžadovány další vlastnosti. Viz Ověřte ovladač.
AzureTenantId null ID tenanta Azure pro Azure-specifické ověřování.
CFProxyAuth 0 Pokud je nastavená hodnota 1, ovladač používá uživatele a heslo pro ověřování proxy serveru, které představuje CFProxyUID a CFProxyPwd.
CFProxyHost null Řetězec popisující název proxy serveru, který se použije, když je UseCFProxy také nastaveno na 1.
CFProxyPort null Celé číslo, které představuje číslo proxy portu, který se má použít, když je UseCFProxy také nastaveno na 1.
CFProxyPwd null Řetězec, který reprezentuje heslo pro ověřování proxy serveru, když jsou CFProxyAuth a UseCFProxy také nastaveny na 1.
CFProxyUID null Řetězec, který představuje uživatelské jméno, které se má použít pro ověřování proxy, pokud jsou CFProxyAuth a UseCFProxy také nastaveny na 1.
ConnCatalog nebo catalog SPARK Název výchozího katalogu, který se má použít.
ConnSchema nebo schema default Název výchozího schématu, které se má použít. Můžete ho zadat tak, že v adrese URL nahradíte <schema> názvem schématu, který se má použít, nebo nastavením vlastnosti ConnSchema na název schématu, který se má použít.
EnableOIDCDiscovery 1 Pokud je nastavená hodnota 1, použije se adresa URL zjišťování OpenID Connect.
EnableTokenCache 1 Pokud je nastavená hodnota 1, povolí ukládání tokenů OAuth do mezipaměti, aby se zlepšil výkon.
GoogleCredentialsFile null Cesta k souboru klíče JSON pro ověřování účtu služby Google.
GoogleServiceAccount null Povolí ověřování pomocí účtu služby Google.
OAuth2ClientId null ID klienta OAuth2 pro ověřování. Ve výchozím nastavení databricks-sql-jdbc se používá pro AWS, GCP a Azure. Pro pokročilé konfigurace OAuth se vyžaduje vlastní ID klienta.
OAuth2ConnAuthAuthorizeEndpoint null Adresa URL koncového bodu autorizace použitá v toku OAuth2.
OAuth2ConnAuthTokenEndpoint null Adresa URL koncového bodu tokenu pro tok OAuth2.
OAuth2RedirectUrlPort 8020 Port OAuth2 přesměrovací URL pro autentizační toky na bázi prohlížeče.
OIDCDiscoveryEndpoint null Adresa URL zjišťování OpenID Connect pro načtení konfigurace OIDC.
ProxyAuth 0 Pokud je nastavená hodnota 1, ovladač používá uživatele a heslo pro ověřování proxy serveru, které představuje ProxyUID a ProxyPwd.
ProxyHost null Řetězec popisující název proxy serveru, který se použije, když je UseProxy také nastaveno na 1.
ProxyPort null Celé číslo, které představuje číslo proxy portu, který se má použít, když je UseProxy také nastaveno na 1.
ProxyPwd null Řetězec, který reprezentuje heslo pro ověřování proxy serveru, když jsou ProxyAuth a UseProxy také nastaveny na 1.
ProxyUID null Řetězec, který představuje uživatelské jméno, které se má použít pro ověřování proxy, pokud jsou ProxyAuth a UseProxy také nastaveny na 1.
TokenCachePassPhrase null Heslo, které se má použít pro šifrování mezipaměti tokenů OAuth U2M.
UseCFProxy 0 Pokud je nastavená hodnota 1, ovladač použije nastavení proxy serveru cloudového načtení, pokud jsou k dispozici, jinak použijte běžný proxy server.
UseJWTAssertion false Povolí ověřování JWT privátního klíče pro případy použití M2M, kdy je ověřování tajných klíčů klienta omezeno.
UseProxy 0 Pokud je nastavená hodnota 1, ovladač použije poskytnuté nastavení proxy serveru (například: ProxyAuth, ProxyHost, ProxyPort, ProxyPwda ProxyUID).
UseSystemProxy 0 Pokud je nastavená hodnota 1, ovladač použije nastavení proxy serveru, které byly nastaveny na úrovni systému. Pokud jsou v adrese URL připojení nastavené nějaké další vlastnosti proxy serveru, tyto další vlastnosti proxy přepíší ty, které byly nastaveny na úrovni systému.

Vlastnosti konfigurace úložiště důvěryhodnosti SSL

Ovladač Databricks JDBC podporuje následující vlastnosti konfigurace úložiště důvěryhodnosti SSL. Vlastnosti nerozlišují velikost písmen.

Vlastnictví Výchozí hodnota Popis
AcceptUndeterminedRevocation 0 Pokud je nastavená hodnota 1, přijímá certifikáty s nedeterminovaným stavem odvolání, pokud je povolená kontrola odvolání certifikátu.
AllowSelfSignedCerts 0 Pokud je tato možnost nastavená 1, ovladač umožňuje připojení k serverům s certifikáty SSL podepsanými svým držitelem.
CheckCertificateRevocation 0 Pokud je nastavená hodnota 1, ovladač zkontroluje, jestli byl certifikát SSL odvolán.
SSL 1 Určuje, jestli konektor komunikuje se serverem Spark prostřednictvím soketu s povoleným protokolem SSL.
SSLKeyStore null Cesta k souboru úložiště klíčů SSL pro ověřování klientských certifikátů. Ve výchozím nastavení se provádí ověřování TLS pouze na serveru, takže se nevyžaduje klientský certifikát.
SSLKeyStorePwd null Heslo pro soubor úložiště klíčů SSL.
SSLKeyStoreType JKS Typ úložiště klíčů SSL. Platné hodnoty jsou JKS, PKCS12, JCEKSDKS a PKCS11.
SSLTrustStore null Cesta k souboru úložiště důvěryhodných certifikátů pro ověření certifikátu SSL.
SSLTrustStorePassword null Heslo k souboru důvěryhodného úložiště, pokud je chráněn heslem.
SSLTrustStoreType JKS Typ úložiště důvěryhodnosti, například JKS nebo PKCS12. Pokud není uvedeno jinak, ovladač ve výchozím nastavení použije úložiště důvěryhodnosti JKS. Platné typy jsou JKS, PKCS12a BCFKS.
UseSystemTrustStore 0 Pokud je nastavená hodnota 1, ovladač použije výchozí úložiště důvěryhodnosti systému pro ověření certifikátu SSL.

Typy úložiště důvěryhodných certifikátů

Ovladač JDBC podporuje následující režimy SSL a typy úložiště důvěryhodnosti.

Režim vlastnoručně podepsaného certifikátu

Chcete-li použít režim certifikátu podepsaného svým držitelem, nastavte vlastnost AllowSelfSignedCerts=1připojení . Tento režim používá objekt pro vytváření soketů, který přijímá všechny certifikáty.

Vlastní úložiště certifikátů

Chcete-li použít vlastní úložiště důvěryhodnosti, zadejte vlastní soubor úložiště důvěryhodnosti ve SSLTrustStore vlastnosti připojení. Toto úložiště důvěryhodnosti se načte přímo ze zadané cesty a používá certifikáty pro ověření certifikátu SSL. Může to být ve formátech JKS, PKCS12 nebo jiných podporovaných formátech.

Musíte zadat následující další vlastnosti připojení:

  • SSLTrustStore: Cesta k souboru s certifikáty
  • SSLTrustStorePassword: Heslo pro úložiště důvěryhodnosti (v případě potřeby)
  • SSLTrustStoreType: Typ úložiště důvěryhodnosti (volitelné, výchozí hodnota je JKS, pokud není zadán jiný typ)

Úložiště vztahů důvěryhodnosti systémových vlastností v Javě

Chcete-li použít úložiště důvěry systémových vlastností, nastavte UseSystemTrustStore=1 a ujistěte se, že nezadáte vlastní úložiště důvěry. Místo toho zadejte úložiště důvěryhodnosti pomocí vlastnosti javax.net.ssl.trustStoresystému Java . Tato vlastnost je nastavena na úrovni JVM pomocí příznaku -D , například:

java -Djavax.net.ssl.trustStore=/path/to/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit ...

Ovladač JDBC nejprve zkontroluje vlastnost javax.net.ssl.trustStoresystému Java . Pokud je nastavený, použije tento soubor úložiště důvěryhodnosti místo výchozí sady JDK. Pokud není nastavena žádná systémová vlastnost, použije výchozí úložiště důvěryhodnosti sady JDK (cacerts), které je ocated na $JAVA_HOME/lib/security/cacerts nebo podobné cestě.

Výchozí úložiště důvěryhodnosti sady JDK (cacerts)

Sada JDK se dodává s integrovaným úložištěm důvěryhodnosti označovaným jako cacerts , které obsahuje certifikáty od známých certifikačních autorit, což umožňuje ověření certifikátů vydaných těmito certifikačními autoritami. Toto úložiště certifikátů se obvykle nachází na $JAVA_HOME/lib/security/cacerts s výchozím heslem "changeit" nebo "changeme".

Pokud chcete použít výchozí úložiště důvěryhodnosti sady JDK, nastavte UseSystemTrustStore=1 a ujistěte se, že nezadáte vlastní úložiště důvěryhodnosti nebo úložiště důvěryhodnosti systémových vlastností Java. Pokud je úložiště důvěryhodnosti zadáno také pomocí systémové vlastnosti javax.net.ssl.trustStoreJava , je ignorováno, což zajišťuje, že ovladač používá pouze certifikáty z výchozího úložiště důvěryhodnosti sady JDK.

Pořadí úložiště důvěryhodnosti podle priority

Ovladač používá k určení úložiště důvěryhodnosti, které má být používáno, následující pořadí priorit:

  1. Vlastní úložiště důvěryhodnosti zadané ve SSLTrustStore vlastnosti připojení
  2. Úložiště certifikátů důvěry zadané ve vlastnosti systému Java javax.net.ssl.trustStore (když UseSystemTrustStore=1)
  3. Výchozí úložiště důvěryhodnosti sady JDK (cacerts)

Doporučení zabezpečení

Aby bylo připojení zabezpečené, doporučuje Databricks následující:

  • Pro produkční prostředí:

    • Nepoužívejte režim certifikátu podepsaný svým držitelem (AllowSelfSignedCerts=1).
    • Používejte oficiální certifikáty podepsané certifikační autoritou.
    • Použijte UseSystemTrustStore=1, pokud nepotřebujete vlastní úložiště důvěryhodnosti.
  • Pro vlastní databáze důvěryhodnosti:

    • Používá se při připojování k serverům s certifikáty, které nejsou ve výchozím úložišti důvěryhodnosti.
    • Ujistěte se, že úložiště certifikátů obsahuje úplný certifikátový řetěz.
    • Chraňte soubory úložiště důvěryhodnosti s příslušnými oprávněními.

Vlastnosti strategie opakování

Ovladač Databricks JDBC (OSS) podporuje následující vlastnosti strategie opakování. Vlastnosti nerozlišují velikost písmen.

Vlastnictví Výchozí hodnota Popis
RateLimitRetry 1 Pokud je nastavená hodnota 1, povolí opakování chyb omezení rychlosti.
RateLimitRetryTimeout 120 Časový limit pro nový pokus po překročení rychlostního limitu v sekundách.
TemporarilyUnavailableRetry 1 Pokud je nastavená hodnota 1, povolí opakování při dočasně nedostupných chybách.
TemporarilyUnavailableRetryTimeout 900 Časový limit opakování pro dočasně nedostupné chyby v sekundách.
VolumeOperationRetryableHttpCode 408,429,500,502,503,504 Čárkami oddělený seznam opakovatelných kódů HTTP pro příjem svazků katalogu Unity.
VolumeOperationRetryTimeout 15 Časový limit opakování požadavků HTTP pro ingestování objemů katalogu Unity, v minutách.

Vlastnosti správy výkonu a připojení

Ovladač Databricks JDBC (OSS) podporuje následující vlastnosti správy výkonu a připojení. Vlastnosti nerozlišují velikost písmen.

Vlastnictví Výchozí hodnota Popis
CloudFetchThreadPoolSize 16 Velikost fondu vláken pro operace načítání cloudu.
DefaultStringColumnLength 255 Maximální počet znaků, které mohou být obsaženy ve STRING sloupcích pro hlášení metadat.
HttpConnectionPoolSize 100 Maximální velikost fondu připojení HTTP.
IdleHttpConnectionExpiry 60 Doba vypršení platnosti nečinných připojení HTTP v sekundách.
RowsFetchedPerBlock 2000000 Maximální počet řádků, které dotaz vrátí najednou. To platí pouze pro řádkové výsledky.
SocketTimeout 900 Časový limit soketu pro síťové operace v sekundách.

vlastnosti konfigurace SQL

Ovladač Databricks JDBC podporuje následující vlastnosti konfigurace SQL. V Konfigurační parametryjsou také popsány. Vlastnosti nerozlišují velikost písmen.

Vlastnictví Výchozí hodnota Popis
ansi_mode TRUE Zda povolit přísné chování ANSI SQL pro určité funkce a pravidla přetypování.
enable_photon TRUE Zda povolit vektorizovaný dotazovací stroj Photon.
legacy_time_parser_policy EXCEPTION Metody používané k analýze a formátování kalendářních dat a časových razítek. Platné hodnoty jsou EXCEPTION, LEGACYa CORRECTED.
max_file_partition_bytes 128m Maximální počet bajtů, které se mají zabalit do jednoho oddílu při čtení ze zdrojů založených na souborech. Nastavení může být libovolné kladné celé číslo a volitelně může obsahovat míru, například b (bajty), k nebo kb (1024 bajtů).
query_tags "" (prázdný řetězec) Čárkami oddělený seznam značek klíč-hodnota, které připojíte k dotazům SQL pro sledování a analýza v system.query.history.
read_only_external_metastore false Určuje, zda je externí metastore považován za pouze pro čtení.
statement_timeout 172800 Nastaví časový limit příkazu SQL mezi 0 a 172800 sekund.
timezone UTC Nastavte místní časové pásmo. ID oblastí ve formuláři area/city, například Amerika/Los_Angeles nebo posuny zóny ve formátu (+|-)HH, (+|-)HH:mm nebo (+|-)HH:mm:ss, např. -08, +01:00 nebo -13:33:33. UTC se také podporuje jako alias pro +00:00.
use_cached_result true Jestli Databricks SQL ukládá do mezipaměti a opakovaně používá výsledky, kdykoli je to možné.

Vlastnosti protokolování

Ovladač Databricks JDBC podporuje následující vlastnosti protokolování. Vlastnosti nerozlišují velikost písmen.

Vlastnictví Výchozí hodnota Popis
LogFileCount 10 Maximální počet povolených souborů protokolu
LogFileSize 10 Maximální povolená velikost souboru protokolu zadaná v MB
LogLevel OFF Úroveň protokolování, což je hodnota 0 až 6:
  • 0: Zakažte veškeré protokolování.
  • 1: Povolte protokolování na úrovni FATAL, které protokoluje velmi závažné chybové události, jež povedou k přerušení činnosti konektoru.
  • 2: Povolte protokolování na úrovni ERROR, které zaznamenává chybové události, jež by mohly stále umožnit konektoru pokračovat v běhu.
  • 3: Povolte protokolování na úrovni UPOZORNĚNÍ, které protokoluje události, které můžou vést k chybě, pokud akce není provedena.
  • 4: Povolte protokolování na úrovni INFO, které protokoluje obecné informace, které popisují průběh konektoru.
  • 5: Povolte protokolování na úrovni LADĚNÍ, které protokoluje podrobné informace, které jsou užitečné pro odstraňování chyb konektoru.
  • 6: Povolte protokolování na úrovni TRACE, která protokoluje všechny aktivity konektoru.

Tato vlastnost slouží k povolení nebo zakázání protokolování v konektoru a k určení množství podrobností zahrnutých v souborech protokolu.
LogPath K určení výchozí cesty pro protokoly používá ovladač hodnotu nastavenou pro tyto systémové vlastnosti v tomto pořadí priority:
  • user.dir
  • java.io.tmpdir
  • v aktuálním adresáři, tedy .
Úplná cesta ke složce, do které konektor ukládá soubory protokolu jako řetězec, když je povoleno protokolování. Pokud chcete zajistit, aby adresa URL připojení byla kompatibilní se všemi aplikacemi JDBC, ucházejte zpětná lomítka (\) do cesty k souboru zadáním jiného zpětného lomítka.
Pokud je hodnota LogPath neplatná, konektor odešle protokolované informace do standardního výstupního datového proudu (System.out).

Povolení a konfigurace protokolování

Ovladač JDBC podporuje Jednoduché protokolovací rozhraní pro Java (SLF4J) a rámce java.util.logging (JUL). Ovladač ve výchozím nastavení používá rozhraní protokolování JUL.

Povolení a konfigurace protokolování pro ovladač JDBC:

  1. Povolte rozhraní protokolování, které chcete použít:

    • Pro protokolování SLF4J nastavte systémovou vlastnost -Dcom.databricks.jdbc.loggerImpl=SLF4JLOGGER a poskytněte implementaci vazby SLF4J (kompatibilní s verzí SLF4J 2.0.13 a vyšší) a odpovídající konfigurační soubor v třídní cestě.
    • Pro protokolování JUL nastavte systémovou vlastnost -Dcom.databricks.jdbc.loggerImpl=JDKLOGGER. Toto je výchozí hodnota.
  2. Nastavte vlastnost LogLevel připojovacího řetězce na požadovanou úroveň informací, které chcete zahrnout do souborů protokolu.

  3. Nastavte vlastnost LogPath v připojovacím řetězci na úplnou cestu ke složce, do které chcete ukládat soubory protokolu.

    Například následující adresa URL připojení umožňuje protokolování úrovně 6 a ukládá soubory protokolu do složky C:temp:

    jdbc: databricks://localhost:11000;LogLevel=6;LogPath=C:\\temp
    
  4. Restartujte aplikaci JDBC a znovu se připojte k serveru a použijte nastavení.

Další vlastnosti funkcí

Následující vlastnosti umožňují funkce v ovladači Databricks JDBC. Vlastnosti nerozlišují velikost písmen.

Vlastnictví Výchozí hodnota Popis
EnableArrow 1 Pokud je nastavena hodnota 0, serializace šipky pro výsledky je zakázána, což také zakáže chování cloudového načítání, protože formát šipky je potřeba pro cloudový načtení.
EnableComplexDatatypeSupport 0 Pokud je nastavena na 1, podpora komplexních datových typů (ARRAYs, STRUCTs, MAPs) jako nativní objekty Java místo řetězců je povolena.
EnableDirectResults 1 Pokud je nastavená hodnota 1, povolí přímé výsledky pro lepší výkon dotazů.
EnableGeoSpatialSupport 0 Pokud je tato možnost nastavená na 1, povolí podporu geoprostorových datových typů (GEOMETRY a GEOGRAPHY) jako strukturované objekty Java. Vyžaduje EnableComplexDatatypeSupport=1 a EnableArrow=1 (ve výchozím nastavení je povolená šipka). Pokud je tato možnost zakázaná, vrátí se geoprostorové sloupce ve formátu EWKT jako STRING. Viz geoprostorové funkce ST.
EnableSqlScripting 1 nebo true Umožňuje podporu skriptování SQL pro složené bloky příkazů (BEGIN... END) a volání uložených procedur. K dispozici v ovladači verze 1.0.10 a vyšší s Databricks Runtime 16.3 a vyšším.
Uložené procedury vyžadují Databricks Runtime 17.0 a novější a ovladače verze 3.0.1 a vyšší. Použijte Statement nebo PreparedStatement k volání procedur. CallableStatement není podporováno. Syntaxe a příklady najdete v tématu Skriptování SQL.
EnableMetricViewMetadata 0 Pokud je nastavená hodnota 1, povolí rozšířené operace metadat pro zobrazení metrik. Viz Práce s metadaty zobrazení metrik pomocí ovladače Databricks JDBC.
EnableTelemetry 0 Pokud je tato možnost nastavená 1, je povolená telemetrie. Viz Telemetrie.
EnableVolumeOperations 1nebo true Vlastnost klientských informací umožňující operace hlasitosti ve streamu. Viz Správa souborů ve svazcích pomocí ovladače Databricks JDBC. Ve výchozím nastavení tato vlastnost také povoluje REMOVE operaci na svazku.
Důležitý: Musíte to nastavit jako vlastnost informací o klientovi. Poskytnutí pouze v adrese URL připojení nepovoluje objemové operace pro datový proud.
MaxBatchSize 500 Maximální velikost dávky pro dávkové operace a zpracování dat.
QueryResultCompressionType 1 Platné hodnoty jsou 0 (bez komprese) a 1 (pro kompresi LZ4). Ovladač automaticky nastaví hodnotu na 0 (bez komprese) pro výsledky přímo ve výstupu bez ohledu na nakonfigurované nastavení.
UserAgentEntry browser Položka User-Agent, která se má zahrnout do požadavku HTTP. Tato hodnota je v následujícím formátu: [ProductName]/[ProductVersion] [Comment]
UseThriftClient 1 Ať už má ovladač JDBC používat rozhraní API pro spouštění příkazů nebo klienta Thrift.
VolumeOperationAllowedLocalPaths `` Čárkami oddělený seznam povolených místních cest pro nahrávání a stahování souborů pro zpracování svazků katalogu Unity. Cesty zahrnují i podadresály. Pokud není zadáno, vrátí se zpět na hodnotu StagingAllowedLocalPaths, pak do prázdného řetězce, který určuje žádná omezení. Viz Správa souborů pomocí svazků.
Důležitý: Pokud je nastavení v prostředí s více tenanty (jako jsou nástroje BI nebo vývojářské služby) a uživatelé řídí úplnou adresu URL JDBC, měla by tato vlastnost nastavit na umístění sandboxu nebo neexistující cestu. Uživatelům tak zabráníte v zápisu souborů arbitraty a zasahování do interního nasazení služby.

Shromažďování telemetrie

Telemetrie umožňuje Databricks zjednodušit ladění a poskytovat včasné řešení potíží shromažďováním:

  • Podrobnosti o klientském prostředí (verze ovladače, modul runtime, podrobnosti operačního systému)
  • Konfigurace připojení JDBC (vylučuje všechna data PII)
  • Měření latence operací
  • Formát výsledku provádění (vložený json, šipka atd.)
  • Typy operací (prováděcí dotaz, dotaz metadat, objemové operace)
  • Data klasifikace chyb
  • Počet opakování

Poznámka:

Databricks udržuje přísné standardy ochrany osobních údajů, které zajišťují, aby se nesbídly obsah dotazů, výsledky ani identifikovatelné osobní údaje (PII).