Databricks
Databricks bir veri işlem hattında veya çoğaltma görevinde hedef veri platformu olarak kullanılabilir. Bir veri işlem hattında, verileri saklama, verileri dönüştürme, veri ambarları oluşturma ve veri kaydetme dahil olmak üzere hedef platformda çeşitli ELT işlemleri gerçekleştirilebilir. Diğer yandan çoğaltma görevi, temel dönüştürme yetenekleriyle ancak ELT işlemleri için destek olmadan, verilerin doğrudan bir kaynak sistemden bir hedef sisteme çoğaltılmasını içerir.
Databricks öğesini bir hedef olarak ayarlamak şunları içerir:
- Ön koşulları yerine getirme
- Bir bulut hazırlama alanına bağlantı yapılandırma. Mevcut verileri kaydediyorsanız bu gerekli değildir.
- Databricks için bir bağlantı yapılandırma
Bir bulut hazırlama alanı ayarlama
Databricks Target bağlayıcısını kullanırken, verilerin ve değişikliklerin uygulanmadan ve depolanmadan önce hazırlandığı bir bulut hazırlama alanı da tanımlamanız gerekir. Aşağıdaki depolama platformları desteklenmektedir:
Databricks için bir bağlantı yapılandırma
Hazırlama ayarlarını sağladıktan sonra aşağıdakileri yapın:
-
Bağlantılar içinde Bağlantı oluştur'a tıklayın.
-
Databricks hedef bağlayıcısını seçin ve ardından aşağıdaki ayarları sağlayın:
Veri hedefi
Veri ağ geçidi
Bir Veri Hareketi ağ geçidi yalnızca hedef veritabanına Qlik Cloud öğesinden erişilemiyorsa ve yalnızca bir Özel Bağlantı kullanılarak erişilebiliyorsa gereklidir (örneğin, bir Sanal Özel Bulutta bulunuyorsa). Bu durumda, hedef veritabanına erişmek istediğiniz Veri Hareketi ağ geçidi öğesini seçin.
Kullanım durumunuza bağlı olarak, bu ya veri kaynağından veri taşımak için dağıtılanVeri Hareketi ağ geçidi ile aynı ya da farklı bir veri kaynağı olacaktır.
Veri Hareketi ağ geçidi kullanım durumları hakkında bilgi için bkz. Veri Hareketi ağ geçidi ne zaman gereklidir? ve Yaygın kullanım durumları.
Hedef veritabanına doğrudan Qlik Cloud üzerinden erişilebiliyorsa Yok'u seçin.
Bağlantı özellikleri
- Ana Bilgisayar: Databricks çalışma alanının ana bilgisayar adı.
- Bağlantı Noktası: Çalışma alanına erişmek için kullanılacak bağlantı noktası.
- HTTP Yolu: Kullanılan kümenin yolu.
Kimlik Doğrulama
-
Kimlik Doğrulama Yöntemi - Aşağıdakilerden birini seçin:
-
OAuth: Aşağıdaki bilgileri sağlayın:
Bilgi notuOAuth kimlik doğrulama ön koşulları:
- Databricks veritabanınızın OAuth kullanacak şekilde yapılandırıldığından emin olun. Talimatlar için satıcının çevrimiçi yardımına bakın.
- Veritabanına erişmek için Veri Hareketi ağ geçidi kullanıyorsanız, Veri Hareketi ağ geçidi 2024.11.30 veya üzeri bir sürüm gereklidir.
-
İstemci Kimliği: Uygulamanızın istemci kimliği.
-
İstemci Gizli Anahtarı: Uygulamanızın istemci gizli anahtarı. Bağlantıyı düzenlerseniz, istemci gizli anahtarının bir güvenlik önlemi olarak kaldırılacağını ve yeniden girmeniz gerekeceğini unutmayın.
- Kişisel Erişim Belirteci: Belirteç alanına, çalışma alanına erişmek için kişisel belirtecinizi girin.
-
Katalog özellikleri
Mevcut katalogları yüklemek için Katalogları yükle'ye tıklayın ve ardından bir Katalog seçin. Ortamınız herhangi bir katalogla yapılandırılmamışsa, varsayılan katalog olan hive_metastore öğesini seçin.
Databricks'te harici bir konum tanımlayarak veri görevinin harici (yönetilmeyen) tablolara erişmesine izin vermeniz gerekir. Yönergeler için bkz.:
Dahili özellikler
Dahili özellikler özel kullanım durumları içindir ve bu nedenle iletişim kutusunda gösterilmez. Bunları yalnızca Qlik Destek ekibi tarafından talimat verilirse kullanmalısınız.
Gerektiğinde özellik eklemek veya kaldırmak için alanların sağındaki ve
düğmelerini kullanın.
Ad
Bağlantı için görünen ad.
Ön koşullar
Genel izinler
- Qlik Talend Data Integration Sunucusu makinesindeki saat doğru olmalıdır.
- Databricks tablo izinleri: Qlik Talend Data Integration Databricks tablolarında aşağıdaki işlemleri gerçekleştirmek için izinler gerektirir: CREATE, DROP, TRUNCATE, DESCRIBE ve ALTER table.
- ADLS Gen2 dosya sisteminin Erişim Denetimi (IAM) ayarlarında, Qlik Talend Data Integration ürününe (AD Uygulama Kimliği) "Depolama Blob Verilerine Katkıda Bulunan" rolünü atayın. Rolün devreye girmesi birkaç dakika alabilir.
- Qlik Talend Data Integration ürününün ODBC üzerinden bir Databricks kümesine bağlanması için kullanıcılara Databricks hesaplarında "Bağlanabilir" izni verilmesi gerekir.
- Databricks'e erişmek için geçerli bir güvenlik belirteci gerekir. Belirteç, uç nokta ayarlarında Databricks ODBC Erişimi alanları yapılandırılırken belirtilebilir.
-
Microsoft Azure Data Lake Depolaması (ADLS) 2. Nesil ile yeni bir küme yapılandırılırken "Spark Config" bölümüne aşağıdaki satır eklenmelidir.
spark.hadoop.hive.server2.enable.doAs false -
Databricks kümesinden depolama dizinlerine erişebilmek için kullanıcıların o Depolama Hesabı ve hesabın anahtarı için bir yapılandırma (Spark Config'de) eklemesi gerekir.
Örnek:
fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>
Ayrıntılar için şu adresteki Databricks çevrimiçi yardımına bakın: https://docs.databricks.com/clusters/configure.html#spark-configuration
-
En iyi uygulama, performansı etkileyebileceğinden Databricks veritabanı için kök konumu (/Usr/Hive/Warehouse/) kullanmamaktır.
Depolama erişim izni
Databricks SQL işleminin bulut depolamasına erişecek şekilde yapılandırılması gerekir. Talimatlar için satıcının çevrimiçi yardımına bakın.
Sürücü kurulumu
Sürücü yalnızca veritabanına Veri Hareketi ağ geçidi aracılığıyla erişiyorsanız gereklidir. Böyle bir durumda, sürücüyü Veri Hareketi ağ geçidi makinesine yüklemeniz gerekir.
driver öğesini, sürücü yükleme yardımcı programını kullanarak (önerilir) veya manuel olarak yükleyebilirsiniz. Manuel yükleme, nadir görülen şekilde sürücü yükleme yardımcı programında bir sorunla karşılaşmanız durumunda denenmelidir.
Sürücüyü yüklemek için sürücü yükleme yardımcı programını kullanma
Bu bölümde, gerekli driver öğesinin nasıl yükleneceği açıklanmıştır. Sürece, gerekli driver öğesini otomatik olarak indirecek, yükleyecek ve yapılandıracak bir komut dosyası çalıştırma işlemi dahildir. Gerektiğinde driver öğesini güncellemek ve kaldırmak için de komut dosyaları çalıştırabilirsiniz.
Yüklemeyi hazırlama
-
Python 3.6 veya daha yeni bir sürümünün Data Movement ağ geçidi sunucusunda yüklü olduğundan emin olun.
Python, çoğu Linux dağıtımında önceden yüklenmiş şekilde sunulur. Aşağıdaki komutu çalıştırarak sisteminizde yüklü olan Python sürümünü öğrenebilirsiniz:
python3 --version
driver uygulamasını yükleme
driver öğesini indirip yüklemek için:
-
Veri Hareketi ağ geçidi hizmetini durdurun:
sudo systemctl stop repagent
-
İsteğe bağlı olarak hizmetin durduğunu doğrulayın:
sudo systemctl status repagent
Durum aşağıdaki gibi olmalıdır:
Active: inactive (dead) since <timestamp> ago
-
Data Movement ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:
opt/qlik/gateway/movement/drivers/bin
-
Şu komutu çalıştırın:
Söz Dizimi:
./install databricks
driver yüklenemiyorsa (erişim kısıtlamaları veya teknik sorunlar nedeniyle) driver öğesini nereden indireceğiniz ve Data Movement ağ geçidi makinesinde nereye kopyalayacağınız konusunda size talimat veren bir mesaj görünür. Bu işlemi yaptıktan sonra install databricks komutunu tekrar çalıştırın.
Aksi durumda, driver öğesinin EULA'sı görünür.
-
Şunlardan birini yapın:
- EULA'da yavaşça gezinmek için [Enter] tuşuna tekrar tekrar basın.
- EULA'da hızlı bir şekilde gezinmek için Boşluk tuşuna tekrar tekrar basın.
- Lisans metninden çıkmak ve EULA kabul seçeneklerine ulaşmak için q tuşuna basın.
-
Şunlardan birini yapın:
- EULA'yı kabul etmek ve yükleme işlemini başlatmak için "y" yazıp [Enter] tuşuna basın.
- EULA'yı reddetmek ve yükleme işleminden çıkmak için "n" yazıp [Enter] tuşuna basın.
-
EULA'yı tekrar görüntülemek için "v" yazıp [Enter] tuşuna basın.
-
Yüklemenin tamamlanmasını ("Tamamlandı!" ifadesiyle belirtilir) bekleyin ve ardından Veri Hareketi ağ geçidi hizmetini başlatın:
sudo systemctl start repagent
-
İsteğe bağlı olarak hizmetin başlatıldığını doğrulayın:
sudo systemctl status repagent
Durum aşağıdaki gibi olmalıdır:
Active: active (running) since <timestamp> ago
driver yüklenir.
driver öğesini güncelleme
Sağlanan driver öğesini yüklemeden önce driver öğesinin eski sürümlerini kaldırmak istiyorsanız güncelleme komutunu çalıştırın.
driver öğesini indirip güncellemek için:
-
Veri Hareketi ağ geçidi hizmetini durdurun:
sudo systemctl stop repagent
-
İsteğe bağlı olarak hizmetin durduğunu doğrulayın:
sudo systemctl status repagent
Durum aşağıdaki gibi olmalıdır:
Active: inactive (dead) since <timestamp> ago
-
Data Movement ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:
opt/qlik/gateway/movement/drivers/bin
-
Şu komutu çalıştırın:
Söz Dizimi:
./update databricks
driver yüklenemiyorsa (erişim kısıtlamaları veya teknik sorunlar nedeniyle) driver öğesini nereden indireceğiniz ve Data Movement ağ geçidi makinesinde nereye kopyalayacağınız konusunda size talimat veren bir mesaj görünür. Bu işlemi yaptıktan sonra update databricks komutunu tekrar çalıştırın.
Aksi durumda, driver öğesinin EULA'sı görünür.
-
Şunlardan birini yapın:
- EULA'da yavaşça gezinmek için [Enter] tuşuna tekrar tekrar basın.
- EULA'da hızlı bir şekilde gezinmek için Boşluk tuşuna tekrar tekrar basın.
- Lisans metninden çıkmak ve EULA kabul seçeneklerine ulaşmak için q tuşuna basın.
-
Şunlardan birini yapın:
- EULA'yı kabul etmek ve yükleme işlemini başlatmak için "y" yazıp [Enter] tuşuna basın.
- EULA'yı reddetmek ve yükleme işleminden çıkmak için "n" yazıp [Enter] tuşuna basın.
- EULA'yı baştan incelemek için "v" yazıp [Enter] tuşuna basın.
-
Yüklemenin tamamlanmasını ("Tamamlandı!" ifadesiyle belirtilir) bekleyin ve ardından Veri Hareketi ağ geçidi hizmetini başlatın:
sudo systemctl start repagent
-
İsteğe bağlı olarak hizmetin başlatıldığını doğrulayın:
sudo systemctl status repagent
Durum aşağıdaki gibi olmalıdır:
Active: active (running) since <timestamp> ago
Eski driver kaldırılacak ve yeni driver yüklenecektir.
driver öğesini kaldırma
driver öğesini kaldırmak istiyorsanız kaldırma komutunu çalıştırın.
driver öğesini kaldırmak için:
-
Bu bağlayıcıyı kullanmak için yapılandırılan tüm görevleri durdurun.
-
Data Movement ağ geçidi makinesinde, çalışan dizini şu şekilde değiştirin:
opt/qlik/gateway/movement/drivers/bin
-
Şu komutu çalıştırın:
Söz Dizimi:
./uninstall databricks
driver kaldırılacaktır.
Sürücüyü manuel olarak yükleme
driver öğesini manuel olarak yüklemeyi yalnızca otomatik sürücü yükleme başarıyla tamamlanmadığında denemelisiniz.
ODBC sürücüsünü yükleme
Veri Hareketi ağ geçidi yüklendikten sonra SimbaSparkODBC-<version>-LinuxRPM-64bit.zip dosyasını indirin. Desteklenen sürüme ait doğrudan indirme bağlantısını /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. içindeki binary-artifacts altında bulabilirsiniz. İndirme işlemi tamamlandıktan sonra dosyayı Veri Hareketi ağ geçidi makinesine kopyalayın.
-
Veri Hareketi ağ geçidi hizmetini durdurun:
sudo systemctl stop repagent
-
İsteğe bağlı olarak, hizmetin durduğunu onaylayın:
sudo systemctl status repagent
-
Sürücüyü Veri Hareketi ağ geçidi makinesine yükleyin.
-
Yüklendikten sonra, /etc/odbcinst.ini dosyasında aşağıdaki bölümün göründüğünden emin olun:
-
Veri Hareketi ağ geçidi hizmetini başlatın:
sudo systemctl start repagent
-
İsteğe bağlı olarak, hizmetin başladığını onaylayın:
sudo systemctl status repagent
Durum aşağıdaki gibi olmalıdır:
Active: active (running) since <timestamp> ago
Durum aşağıdaki gibi olmalıdır:
Active: inactive (dead) since <timestamp> ago
[Databricks ODBC Driver] Driver=/opt/databricks/databricksodbc/lib/64/libdatabricksodbc64.so
JDBC sürücüsünü yükleme
-
databricks-jdbc-<version>.jar dosyasını indirin. Desteklenen sürüme ait doğrudan indirme bağlantısını /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. içindeki binary-artifacts altında bulabilirsiniz. İndirme işlemi tamamlandıktan sonra JAR dosyasını Veri Hareketi ağ geçidi makinesindeki aşağıdaki klasöre kopyalayın:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Veri Hareketi ağ geçidi hizmetini yeniden başlatın ve Veri Hareketi ağ geçidi hizmet komutları bölümünde açıklanan komutları çalıştırarak başladığını kontrol edin.
Bağlantı Noktası
Giden iletişim için güvenlik duvarı bağlantı noktası 443'ün açılması gerekir.
Veri türleri
Aşağıdaki tablo, Qlik Cloud kullanırken desteklenen Databricks veri türlerini ve Qlik Cloud veri türlerinden varsayılan eşlemeyi gösterir.
Yerel veri türü bilgileri korunur ve veri kümesi görünümlerinde Yerel veri türü sütununda görüntülenir. Sütun görünür değilse veri kümesi görünümünün sütun seçicisini açmanız ve Yerel veri türü sütununu seçmeniz gerekir.
| Qlik Cloud veri türleri | Databricks veri türleri |
|---|---|
|
BOOLEAN |
BOOLEAN |
|
BYTES |
VARCHAR (Bayt cinsinden uzunluk) |
|
DATE |
DATE |
|
TIME |
STRING |
|
DATETIME |
TIMESTAMP Giriş sütunu 6'dan daha düşük bir kesinlik kullansa bile kesinlik her zaman 6'dır. Giriş sütunu 6'dan daha yüksek bir kesinlik kullanıyorsa, tam kesinliği koruyabilirsiniz, sütunu STRING gibi desteklenen başka bir türe dönüştürmeyi düşünün. |
|
INT1 |
TINYINT |
|
INT2 |
SMALLINT |
|
INT4 |
INT |
|
INT8 |
BIGINT |
|
NUMERIC |
DECIMAL (kesinlik, ölçek) |
|
REAL4 |
FLOAT |
|
REAL8 |
DOUBLE |
|
UINT1 |
SMALLINT |
|
UINT2 |
INT |
|
UINT4 |
BIGINT |
|
UINT8 |
DECIMAL (20, 0) |
|
STRING |
VARCHAR (Bayt cinsinden uzunluk) Sütunun bir JSON alt türü olduğunda ve Databricks Runtime sürümü 15.4 LTS veya üzeri olduğunda: VARIANT |
|
WSTRING |
VARCHAR (Bayt cinsinden uzunluk) Sütunun bir JSON alt türü olduğunda ve Databricks Runtime sürümü 15.4 LTS veya üzeri olduğunda: VARIANT |
|
NCLOB |
STRING Sütunun bir JSON alt türü olduğunda ve Databricks Runtime sürümü 15.4 LTS veya üzeri olduğunda: VARIANT |
|
CLOB |
STRING Sütunun bir JSON alt türü olduğunda ve Databricks Runtime sürümü 15.4 LTS veya üzeri olduğunda: VARIANT |
|
BLOB |
STRING |
| JSON |
VARIANT Bilgi notuVARIANT veri türü Databricks'te Genel Önizleme olarak desteklenmektedir.
|
Aşağıdaki veri türleri STRING(255) olarak dönüştürülür:
-
MAP
-
ARRAY
-
STRUCT
Sınırlamalar ve dikkat edilmesi gerekenler
-
AWS üzerinde Databricks'i birincil anahtarı olmayan tablolarla kullanırken, yerleştirme alanındaki tabloları yeniden yüklemek Depolama uygulamasında başarısız olacaktır. Bunu çözmek için şunlardan birini yapabilirsiniz:
-
Tablolarda bir birincil anahtar tanımlayın.
-
Databricks'te spark.databricks.delta.alterTable.rename.enabledOnAWS değerini True olarak ayarlayın.
-
SQL tabanlı bir dönüştürme oluştururken, tüm VARCHAR alanları STRING(255) olarak döndürülür.
-