Databricks
Databricks Bir veri işlem hattında veya çoğaltma görevinde hedef veri platformu olarak. 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. kullanabilirsiniz.
Hedef olarak Databricks ayarlamak şunları içerir:
- Ön koşulların yerine getirilmesi
- Bir bulut hazırlama alanına bağlantı yapılandırma. Mevcut verileri kaydediyorsanız bu gerekli değildir.
- Databricks öğesine bağlantı yapılandırma
Bulut hazırlama alanı kurma
Databricks Hedef bağlayıcısını kullanırken, verilerin ve değişikliklerin uygulanmadan ve depolanmadan önce orada hazırlandığı bir bulut hazırlama alanı da tanımlamanız gerekir. Aşağıdaki depolama platformları desteklenmektedir:
Databricks'e bağlantı yapılandırma
Hazırlama ayarlarını sağladıktan sonra aşağıdakileri yapın:
-
Bağlantılar'da 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 Qlik Cloud uygulamasından doğrudan erişilebiliyorsa Yok seçeneğini belirleyin.
Bağlantı özellikleri
- Ana bilgisayar: Databricks çalışma alanının ana bilgisayar adı.
- Bağlantı Noktası: çalışma alanına erişilecek bağlantı noktası.
- HTTP Yolu: kullanılmakta olan kümenin yolu.
- Belirteç: çalışma alanına erişim için kişisel belirteciniz.
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 Hareketi ağ geçidi öğesinin harici (yönetilmeyen) tablolara erişmesine izin vermeniz gerekir. Kılavuzlar için bk.:
Dahili özellikler
Dahili özellikler özel kullanım durumları içindir ve bu nedenle diyalog penceresinde gösterilmez. Bunları yalnızca Qlik Desteği tarafından talimat verildiği takdirde kullanmalısınız.
Gerektiği takdirde özellik eklemek veya kaldırmak için alanların sağındaki ve düğmelerini kullanın.
Ad
Bağlantının görünen adı.
Önkoş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
Bulut depolamasına erişmek için Databricks SQL işlemi yapılandırılmalıdır. Talimatlar için satıcının çevrimiçi yardımına bakın.
Sürücü kurulumu
Bir sürücü yalnızca veritabanına Veri Hareketi ağ geçidi üzerinden 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ı 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 Veri Hareketi 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
-
Veri Hareketi 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 Veri Hareketi 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şladığı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
-
Veri Hareketi 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 Veri Hareketi 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şladığı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.
-
Veri Hareketi 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ün yüklenmesi
Veri Hareketi ağ geçidi yüklendikten sonra SimbaSparkODBC-<version>-LinuxRPM-64bit.zip dosyasını indirin. /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml dizininde binary-artifacts altında desteklenen bir sürümün doğrudan indirme bağlantısını bulabilirsiniz. İndirme tamamlandığında 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 doğrulayı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 şu 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şlatıldığını doğrulayı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
[Simba Spark ODBC Driver] Description=Amazon Hive ODBC Driver (64-bit) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
JDBC sürücüsünün yüklenmesi
-
databricks-jdbc-<version>.jar dosyasını indirin. /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml dizininde binary-artifacts altında desteklenen bir sürümün doğrudan indirme bağlantısını bulabilirsiniz. İndirme tamamlandığında JAR dosyasını Veri Hareketi ağ geçidi makinesinde aşağıdaki klasöre kopyalayın:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Veri Hareketi ağ geçidi hizmet komutları bölümünde açıklanan komutlarını çalıştırarak Veri Hareketi ağ geçidi hizmetini yeniden başlatın ve 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 tabloda Qlik Cloud kullanırken desteklenen Databricks veri türleri ve Qlik Cloud veri türlerine ait varsayılan eşlemeler gösterilmektedir.
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 |
STRING |
DATE |
DATE |
TIME |
STRING |
DATETIME |
TIMESTAMP |
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 olarak uzunluk) |
WSTRING |
VARCHAR (Bayt olarak uzunluk) |
BLOB |
STRING |
NCLOB |
STRING |
CLOB |
STRING |
Aşağıdaki veri türleri STRING(255)'e dönüştürülür:
-
MAP
-
ARRAY
-
STRUCT
Sınırlamalar ve dikkate alınacak noktalar
-
AWS üzerinde birincil anahtarı olmayan tabloları olan Databricks kullanırken, tabloların yerleştirmeye yeniden yüklenmesi Depolama uygulamasına başarısız olur. Bunu çözmek için şunlardan birini yapabilirsiniz:
-
Tablolarda birincil anahtar tanımlama.
-
Databricks'te spark.databricks.delta.alterTable.rename.enabledOnAWS değerini True olarak ayarlama.
-
SQL tabanlı bir dönüşüm oluştururken, tüm VARCHAR alanları STRING(255) olarak döndürülür.
-