Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu makalede Databricks JDBC Sürücüsü, sürüm 3 ve üzeri tarafından desteklenen bağlantı özellikleri açıklanmaktadır.
Kimlik Doğrulama ve Ara Sunucu Özellikleri
Aşağıdaki kimlik doğrulaması ve proxy özellikleri Databricks JDBC Sürücüsü tarafından desteklenir. Özellikler büyük/küçük harfe duyarlı değildir.
SSL güven deposu yapılandırma özellikleri
Aşağıdaki SSL güven deposu yapılandırma özellikleri Databricks JDBC Sürücüsü tarafından desteklenir. Özellikler büyük/küçük harfe duyarlı değildir.
| Mülkiyet | Varsayılan değer | Açıklama |
|---|---|---|
AcceptUndeterminedRevocation |
0 |
olarak 1ayarlanırsa, sertifika iptal denetimi etkinleştirildiğinde, iptal durumu belirsiz olan sertifikaları kabul eder. |
AllowSelfSignedCerts |
0 |
olarak ayarlanırsa 1, sürücü otomatik olarak imzalanan SSL sertifikalarına sahip sunuculara bağlantılara izin verir. |
CheckCertificateRevocation |
0 |
olarak ayarlanırsa 1, sürücü SSL sertifikasının iptal edilip edilmediğini denetler. |
SSL |
1 |
Bağlayıcının SSL özellikli bir yuva üzerinden Spark sunucusuyla iletişim kurup kurmadığı. |
SSLKeyStore |
null |
İstemci sertifikası kimlik doğrulaması için SSL anahtar deposu dosyasının yolu. Varsayılan olarak, istemci sertifikası gerekmemesi için yalnızca sunucu TLS kimlik doğrulaması gerçekleştirilir. |
SSLKeyStorePwd |
null |
SSL anahtar deposu dosyasının parolası. |
SSLKeyStoreType |
JKS |
SSL anahtar deposunun türü. Geçerli değerler , , JKSPKCS12JCEKSve DKSdeğerleridir.PKCS11 |
SSLTrustStore |
null |
SSL sertifika doğrulaması için güven deposu dosyasının yolu. |
SSLTrustStorePassword |
null |
Güven deposu dosyasının parolası, eğer parola korumalıysa. |
SSLTrustStoreType |
JKS |
Güven deposu türü, örneğin JKS veya PKCS12. Belirtilmediği takdirde, sürücü JKS güvenlik deposunu varsayılan olarak kullanır. Geçerli türler : JKS, PKCS12ve BCFKS. |
UseSystemTrustStore |
0 |
olarak ayarlanırsa 1, sürücü SSL sertifika doğrulaması için sistemin varsayılan güven depounu kullanır. |
Güven deposu türleri
JDBC sürücüsü aşağıdaki SSL modlarını ve güven deposu türlerini destekler.
Otomatik olarak imzalanan sertifika modu
Otomatik olarak imzalanan sertifika modunu kullanmak için bağlantı özelliğini AllowSelfSignedCerts=1ayarlayın. Bu mod, tüm sertifikaları kabul eden bir yuva fabrikası kullanır.
Özel güven deposu
Özel güven deposu kullanmak için bağlantı özelliğinde SSLTrustStore bir özel güven deposu dosyası belirtin. Bu güven deposu doğrudan belirtilen yoldan yüklenir ve SSL sertifika doğrulaması için sertifikaları kullanır. JKS, PKCS12 veya desteklenen diğer biçimlerde olabilir.
Aşağıdaki ek bağlantı özelliklerini belirtmelisiniz:
-
SSLTrustStore: Güven deposu dosyasının yolu -
SSLTrustStorePassword: Güven deposunun parolası (gerekirse) -
SSLTrustStoreType: Güven deposunun türü (isteğe bağlı, belirtilmezse varsayılan olarak JKS olur)
Java sistem özelliği güven deposu
Sistem özelliği güven deposunu kullanmak için UseSystemTrustStore=1 ayarlayın ve özel bir güven deposu belirtmediğinizden emin olun. Bunun yerine, Java sistem özelliğini javax.net.ssl.trustStorekullanarak bir güven deposu belirtin. Bu özellik JVM düzeyinde bayrağı kullanılarak -D ayarlanır, örneğin:
java -Djavax.net.ssl.trustStore=/path/to/truststore.jks -Djavax.net.ssl.trustStorePassword=changeit ...
JDBC sürücüsü önce Java sistem özelliğini javax.net.ssl.trustStoredenetler. Ayarlanırsa, JDK'nin varsayılanı yerine bu güven deposu dosyasını kullanır. Hiçbir sistem özelliği ayarlanmamışsa, JDK'nin varsayılan güven deposunu (cacerts), $JAVA_HOME/lib/security/cacerts veya benzeri bir yolda bulunanı kullanır.
JDK varsayılan güven deposu (sertifikalar)
JDK, cacerts adlı yerleşik bir güven deposuyla birlikte gelir ve bu depo, bu CA'lar tarafından verilen sertifikaların doğrulanmasına olanak tanıyan iyi bilinen Sertifika Yetkililerinin sertifikalarını içerir. Bu güven deposu genellikle $JAVA_HOME/lib/security/cacerts konumunda ve varsayılan parola "changeit" veya "changeme" ile yer alır.
JDK varsayılan güven deposunu kullanmak için UseSystemTrustStore=1 öğesini ayarlayın ve özel bir güven deposu veya Java sistem özelliği güven deposu belirtmediğinizden emin olun. Bir güven deposu da Java sistem özelliği javax.net.ssl.trustStore kullanılarak belirtilirse, bu özellik göz ardı edilir, bu da sürücünün yalnızca varsayılan JDK güven deposundaki sertifikaları kullanmasını sağlar.
Güven deposu öncelik sırası
Sürücü, hangi güven deposunun kullanılacağını belirlemek için aşağıdaki öncelik sırasını kullanır:
- Bağlantı özelliğinde
SSLTrustStorebelirtilen özel güven deposu - Java sistem özelliğinde
javax.net.ssl.trustStorebelirtilen güven deposu (UseSystemTrustStore=1olduğunda) - JDK'nin varsayılan güven deposu (sertifikalar)
Güvenlik önerileri
Bağlantınızı güvenli tutmak için Databricks aşağıdakileri önerir:
Üretim ortamları için:
- Otomatik olarak imzalanan sertifika modunu (
AllowSelfSignedCerts=1) kullanmayın. - Ca ile imzalanan resmi sertifikaları kullanın.
- Özel bir güven deposuna ihtiyacınız olmadığı sürece kullanın
UseSystemTrustStore=1.
- Otomatik olarak imzalanan sertifika modunu (
Özel güven depoları için:
- Varsayılan güven deposunda olmayan sertifikalara sahip sunuculara bağlanırken kullanın.
- Güven deposunun tüm sertifika zincirini içerdiğinden emin olun.
- Güven deposu dosyalarını uygun izinlerle koruyun.
Strateji özelliklerini yeniden deneme
Aşağıdaki yeniden deneme stratejisi özellikleri Databricks JDBC Sürücüsü (OSS) tarafından desteklenir. Özellikler büyük/küçük harfe duyarlı değildir.
| Mülkiyet | Varsayılan değer | Açıklama |
|---|---|---|
RateLimitRetry |
1 |
olarak ayarlanırsa 1, hız sınırı hatalarında yeniden denemeyi etkinleştirir. |
RateLimitRetryTimeout |
120 |
Yeniden deneme zaman aşımlarını saniye cinsinden ayarlayın. |
TemporarilyUnavailableRetry |
1 |
1 olarak ayarlanırsa, geçici olarak kullanılamayan hatalarda yeniden denemeyi etkinleştirir. |
TemporarilyUnavailableRetryTimeout |
900 |
Geçici olarak kullanılamayan hatalar için saniye cinsinden yeniden deneme zaman aşımı süresi. |
VolumeOperationRetryableHttpCode |
408,429,500,502,503,504 |
Birlikte Katalog hacim alımı için tekrar denenebilir HTTP kodlarının virgülle ayrılmış listesi. |
VolumeOperationRetryTimeout |
15 |
Unity Kataloğu hacim alımı HTTP istekleri için dakikalar cinsinden yeniden deneme zaman aşımı süresi. |
Performans ve bağlantı yönetimi özellikleri
Aşağıdaki performans ve bağlantı yönetimi özellikleri Databricks JDBC Sürücüsü (OSS) tarafından desteklenir. Özellikler büyük/küçük harfe duyarlı değildir.
| Mülkiyet | Varsayılan değer | Açıklama |
|---|---|---|
CloudFetchThreadPoolSize |
16 |
Bulut getirme işlemleri için iş parçacığı havuzu boyutu. |
DefaultStringColumnLength |
255 |
Meta veri raporlama için STRING sütunlarında bulunabilecek karakter sayısı üst sınırı. |
HttpConnectionPoolSize |
100 |
En büyük HTTP bağlantı havuzu boyutu. |
IdleHttpConnectionExpiry |
60 |
Boştaki HTTP bağlantısının süre sonu süresi (saniye olarak). |
RowsFetchedPerBlock |
2000000 |
Bir sorgunun bir kerede döndürdüğü en fazla satır sayısı. Bu yalnızca satır içi sonuçlar için geçerlidir. |
SocketTimeout |
900 |
Ağ işlemleri için soket zaman aşımı süresi, saniye cinsinden. |
SQL yapılandırma özellikleri
Aşağıdaki SQL yapılandırma özellikleri Databricks JDBC Sürücüsü tarafından desteklenir. Bunlar,
| Mülkiyet | Varsayılan değer | Açıklama |
|---|---|---|
ansi_mode |
TRUE |
Belirli işlevler ve atama kuralları için katı ANSI SQL davranışının etkinleştirilip etkinleştirilmeyileceği. |
enable_photon |
TRUE |
Photon vektörleştirilmiş sorgu altyapısının etkinleştirilip etkinleştirilmeyileceği. |
legacy_time_parser_policy |
EXCEPTION |
Tarihleri ve zaman damgalarını ayrıştırmak ve biçimlendirmek için kullanılan yöntemler. Geçerli değerler EXCEPTION, LEGACYve CORRECTED. |
max_file_partition_bytes |
128m |
Dosya tabanlı kaynaklardan okurken tek bir bölüme paketlenmesi gereken bayt sayısı üst sınırı. Bu ayar herhangi bir pozitif tamsayı olabilir ve isteğe bağlı olarak b (bayt), k veya kb (1024 bayt) gibi bir ölçü içerebilir. |
query_tags |
"" (boş dize) |
system.query.history içinde izleme ve analiz amacıyla SQL sorgularına eklenecek anahtar-değer etiketlerinin virgülle ayrılmış listesi. |
read_only_external_metastore |
false |
Dış meta veri deposunun salt okunur olarak işlenip işlenmediğini denetler. |
statement_timeout |
172800 |
0 ile 172800 saniye arasında bir SQL deyimi için zaman aşımı ayarlar. |
timezone |
UTC |
Yerel saat dilimini ayarlayın. Bölge Kimlikleri, area/citybiçiminde, Amerika/Los_Angeles gibi veya bölge uzaklıkları +|-)HH, (+|-)HH:mm veya (+|-)HH:mm:ss formatlarında, örneğin -08, +01:00 veya -13:33:33. Ayrıca, UTC +00:00 için diğer ad olarak desteklenir |
use_cached_result |
true |
Databricks SQL'in mümkün olduğunca sonuçları önbelleğe alıp almadığı ve yeniden kullanıp kullanmadığı. |
Günlük özellikleri
Aşağıda listelenen günlükleme özellikleri Databricks JDBC Sürücüsü tarafından desteklenir. Özellikler büyük/küçük harfe duyarlı değildir.
| Mülkiyet | Varsayılan değer | Açıklama |
|---|---|---|
LogFileCount |
10 |
İzin verilen log dosyalarının en fazla sayısı |
LogFileSize |
10 |
MB cinsinden belirtilen izin verilen maksimum günlük dosyası boyutu |
LogLevel |
OFF |
0'dan 6'ya kadar bir değer olan günlük düzeyi:
Bağlayıcıda günlüğe kaydetmeyi etkinleştirmek veya devre dışı bırakmak ve günlük dosyalarına dahil edilen ayrıntı miktarını belirtmek için bu özelliği kullanın. |
LogPath |
Sürücü, günlüklerin varsayılan yolunu belirlemek için bu sistem özellikleri için ayarlanan değeri şu öncelik sırasına göre kullanır:
|
Günlük kaydı etkinleştirildiğinde, bağlayıcının günlük dosyalarını kaydettiği klasörün tam yolu bir dize olarak verilmiştir. Bağlantı URL'sinin tüm JDBC uygulamalarıyla uyumlu olduğundan emin olmak için, başka bir ters eğik çizgi yazarak dosya yolunuzda ters eğik çizgilerden (\) çıkın.LogPath değeri geçersizse, bağlayıcı günlüğe kaydedilen bilgileri standart çıkış akışına (System.out) gönderir. |
Kayıt tutmayı etkinleştirme ve yapılandırma
JDBC sürücüsü Java için Basit Günlükleme Arabirimi (SLF4J) ve java.util.logging (JUL) çerçevelerini destekler. Sürücü varsayılan olarak JUL günlük çerçevesini kullanır.
JDBC sürücüsü için günlük kaydını etkinleştirmek ve yapılandırmak için:
Kullanmak istediğiniz kayıt framework'ünü etkinleştirin.
- SLF4J günlüğü için sistem özelliğini
-Dcom.databricks.jdbc.loggerImpl=SLF4JLOGGERayarlayın ve sınıf yolu içinde SLF4J bağlama uygulamasını (SLF4J sürüm 2.0.13 ve üzeri ile uyumlu) ve ilgili yapılandırma dosyasını sağlayın. - JUL günlüğü için sistem özelliğini
-Dcom.databricks.jdbc.loggerImpl=JDKLOGGERayarlayın. Varsayılan değer budur.
- SLF4J günlüğü için sistem özelliğini
Bağlantı dizesindeki
LogLevelözelliğini günlük dosyalarına eklenecek istenen bilgi düzeyine ayarlayın.Bağlantı dizesinde
LogPathözelliğini günlük dosyalarını kaydetmek istediğiniz klasörün tam yoluna ayarlayın.Örneğin, aşağıdaki bağlantı URL'si günlük düzeyi 6'yı etkinleştirir ve günlük dosyalarını C:\temp klasörüne kaydeder:
jdbc: databricks://localhost:11000;LogLevel=6;LogPath=C:\\tempJDBC uygulamanızı yeniden başlatın ve ayarları uygulamak için sunucuya yeniden bağlanın.
Diğer özellik özellikleri
Aşağıdaki özellikler Databricks JDBC Sürücüsündeki özellikleri etkinleştirir. Özellikler büyük/küçük harfe duyarlı değildir.
| Mülkiyet | Varsayılan değer | Açıklama |
|---|---|---|
EnableArrow |
1 |
0 olarak ayarlanırsa, sonuçlar için Ok Serileştirme devre dışı bırakılır ve bu, Cloud Fetch için Ok biçimi gerektiğinden Cloud Fetch davranışını da devre dışı bırakır. |
EnableComplexDatatypeSupport |
0 |
1olarak ayarlanırsa, dizeler yerine yerel Java nesneleri olarak karmaşık veri türleri (ARRAY'ler, STRUCT'ler, MAP'ler) desteği etkinleştirilir. |
EnableDirectResults |
1 |
olarak 1ayarlanırsa, gelişmiş sorgu performansı için doğrudan sonuçları etkinleştirir. |
EnableGeoSpatialSupport |
0 |
Eğer 1 olarak ayarlanırsa, yapılandırılmış Java nesneleri olarak jeo-uzamsal veri türleri (GEOMETRY ve GEOGRAPHY) için destek sağlar.
EnableComplexDatatypeSupport=1 ve EnableArrow=1 gerektirir (Ok varsayılan olarak etkindir). Devre dışı bırakıldığında, coğrafi sütunlar dize olarak EWKT biçiminde döndürülür. Bkz. ST jeo-uzamsal işlevleri. |
EnableSqlScripting |
1 veya true |
SQL betik desteğini bileşik deyim blokları (BEGIN... END) ve saklı yordam çağrıları için etkinleştirir. Sürücü sürüm 1.0.10 ve üzeri ile Databricks Runtime 16.3 ve üzeri sürümlerde kullanılabilir. Saklı yordamlar Databricks Runtime 17.0 ve üzerini ve 3.0.1 ve üzeri bir sürücü sürümünü gerektirir. Yordamları çağırmak için Statement veya PreparedStatement kullanın.
CallableStatement desteklenmez. Söz dizimi ve örnekler için bkz. SQL betiği oluşturma. |
EnableMetricViewMetadata |
0 |
olarak 1ayarlanırsa, ölçüm görünümleri için gelişmiş meta veri işlemlerini etkinleştirir. Bkz. Databricks JDBC Sürücüsünü kullanarak ölçüm görünümü meta verileriyle çalışma. |
EnableTelemetry |
0 |
olarak ayarlanırsa 1telemetri etkinleştirilir. Bkz . Telemetri. |
EnableVolumeOperations |
1veya true |
Bir akışta birim işlemlerini etkinleştirmek için istemci bilgisi özelliği. Bkz. Databricks JDBC Sürücüsü ile birimlerdeki dosyaları yönetme. Varsayılan olarak, bu özellik REMOVE işlemini bir birim üzerinde de etkinleştirir. Önemli: Bunu bir istemci bilgisi özelliği olarak ayarlamanız gerekir. Bunu yalnızca bağlantı URL'sinde sağlamak, bir akış için birim işlemlerini etkinleştirmez. |
MaxBatchSize |
500 |
Toplu işlemler ve veri işleme için en büyük toplu iş boyutu. |
QueryResultCompressionType |
1 | Geçerli değerler 0 (sıkıştırma olmadan) ve 1 (LZ4 sıkıştırması için) değerleridir. Sürücü, yapılandırılan ayardan bağımsız olarak satır içi sonuçlar için otomatik olarak 0 (sıkıştırma yok) olarak geçersiz kılar |
UserAgentEntry |
browser |
HTTP isteğine eklenecek User-Agent girdisi. Bu değer şu biçimdedir: [ProductName]/[ProductVersion] [Comment] |
UseThriftClient |
1 |
JDBC sürücüsünün Thrift istemcisini mi yoksa Deyim Yürütme API'lerini mi kullanması gerektiği. |
VolumeOperationAllowedLocalPaths |
`` | Unity Catalog birim alım dosyalarını indirmek ve yüklemek için izin verilen yerel adreslerin virgülle ayrılmış listesi. Dizin yolları alt dizinleri de içerir. Belirtilmediğinde, bu değeri StagingAllowedLocalPathsdeğerine geri döner ve ardından hiçbir kısıtlama belirtmeyen boş bir dizeye döner. Bkz. Birimleri kullanarak dosyaları yönetme.Önemli: Kurulum çok kiracılı bir ortamdaysa (BI araçları veya geliştirici hizmetleri gibi) ve kullanıcılar tam JDBC URL'sini denetlerse, hizmetin bu özelliği bir korumalı alan konumuna veya var olmayan bir yola ayarlaması gerekir. Bu, kullanıcıların rastgele dosyalar yazmasını ve hizmetin iç dağıtımına müdahale etmesini önler. |
Telemetri koleksiyonu
Telemetri, Databricks'in hata ayıklamayı kolaylaştırıp şunları toplayarak zamanında sorun giderme sağlamasına olanak tanır:
- İstemci ortamı ayrıntıları (sürücü sürümü, çalışma zamanı, işletim sistemi ayrıntıları)
- JDBC bağlantı yapılandırmaları (tüm PII verilerini hariç tutar)
- İşlem gecikmesi ölçümleri
- Yürütme sonucu biçimi (satır içi JSON, Ok vb.)
- İşlem türleri (yürütme sorgusu, meta veri sorgusu, birim işlemleri)
- Hata sınıflandırma verileri
- Yeniden deneme sayıları
Uyarı
Databricks, sorgu içeriğinin, sonuçlarının veya kişisel bilgilerin (PII) toplanmamasını sağlayan katı gizlilik standartlarına sahiptir.