Google BigQuery
Google BigQuery 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 Google BigQuery ayarlamak şunları içerir:
- Ön koşulların yerine getirilmesi
- Google BigQuery'ye bağlantı yapılandırma
Google BigQuery'ye bağlantı yapılandırma
Bağlayıcıyı yapılandırmak için aşağıdakileri yapın:
-
Bağlantılar'da Bağlantı oluştur'a tıklayın.
-
Google BigQuery 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
Hizmet hesabı anahtarı: BigQuery servis hesap anahtarınızı oluşturduğunuzda indirilen JSON dosyasını yükleyin.
Konum: Qlik tarafından oluşturulan veri kümesinin nereye yükleneceği. Diğer'i seçerseniz bölge adını Bölge adı alanına girin. Desteklenen bölge adlarının listesi için bkz. BigQuery konumları.
Ad
Bağlantının görünen adı.
Önkoşullar
Yerleştirme verileri için gereken izinler
Hedef veritabanını otomatik olarak oluşturmak için gereken izinler:
Veri kümesinin otomatik olarak oluşturulmasını istiyorsanız şu izinler gerekir:
BigQuery > BigQuery İşi Kullanıcısı
BigQuery > BigQuery Verisi Düzenleyicisi
Hedef veritabanı zaten mevcut olduğunda gereken izinler:
Veri kümesi zaten mevcutsa şu adımları gerçekleştirmeniz gerekir:
-
Şu izinle bir hizmet hesabı oluşturun:
BigQuery > BigQuery İşi Kullanıcısı
-
Kullanmak istediğiniz veri kümesine gidin, sonra:
-
Az önce oluşturduğunuz hizmet hesabını sorumlu olarak ekleyin.
-
BigQuery Verisi Düzenleyicisi rolünü atayı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 gbq
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 gbq 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 gbq
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 gbq 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 gbq
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.
Hem bir ODBC sürücüsü hem de bir JDBC sürücüsü yüklemeniz gerekir.
ODBC sürücüsünün yüklenmesi
Veri Hareketi ağ geçidi yüklendikten sonra SimbaODBCDriverforGoogleBigQuery_<version>-Linux.tar.gz ve google-cloud-sdk-<version>-linux-x86_64.tar.gz dosyalarını indirin. Bu dosyaların doğrudan indirme bağlantılarını /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml dizininde binary-artifacts altında bulabilirsiniz. İndirme tamamlandığında dosyaları 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
-
Şu dosyayı ayıklayın:
SimbaODBCDriverforGoogleBigQuery_<version>.tar.gz
şu şekilde değiştiririz:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux
-
GoogleBigQueryODBC.did ve simba.googlebigqueryodbc.ini dosyalarını Simba ODBC sürücüsü dizininin altındaki lib dizinine taşıyın.
Örnek:
Dosyaları şuradan taşıyın:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/setup
şu şekilde değiştiririz:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib
-
simba.googlebigqueryodbc.ini dosyasını şu şekilde düzenleyin:
-
ErrorMessagesPath
yolunu ODBC mesajlarını içeren XML dosyasının yolu olarak değiştirin. Varsayılan konum:ErrorMessagesPath=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/ErrorMessages
DriverManagerEncoding
öğesiniUTF-16
olarak değiştirin.
-
-
Aşağıdaki yolu, Veri Hareketi ağ geçidi grup dizininde bulunan site_arep_login.sh dosyasına ekleyin:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib
-
/etc/odbcinst.ini dosyasını düzenleyip sürücü yolunu (yani sürücünün yüklü olduğu yol) ekleyin:
[ODBC Drivers]
Simba= Installed
Simba ODBC Driver for Google BigQuery = Installed
[Simba ODBC Driver for Google BigQuery]
Description=Simba ODBC Driver for Google BigQuery(64-bit)
Driver=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib/libgooglebigqueryodbc_sb64.so
-
google-cloud-sdk-<version>-linux-x86_64.tar.gz öğesini yükleyin.
-
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
JDBC sürücüsünü ve bağımlılıklarını yükleme
-
/opt/qlik/gateway/movement/drivers/manifests/gbq.yaml dizinindeki binary-artifacts altında listelenen aşağıdaki ZIP dosyalarını ve JAR dosyalarını indirin:
- https://repo1.maven.org/maven2/com/google/cloud/google-cloud-bigquery/<version>/google-cloud-bigquery-<version>.jar
- https://repo1.maven.org/maven2/com/google/cloud/google-cloud-storage/<version>/google-cloud-storage-<version>.jar
- https://storage.googleapis.com/simba-bq-release/jdbc/SimbaJDBCDriverforGoogleBigQuery<version>.zip
JAR dosyalarını Veri Hareketi ağ geçidi makinesinde aşağıdaki klasöre kopyalayın ve SimbaJDBCDriverforGoogleBigQuery<version>.zip içindeki JAR dosyalarını aynı klasöre çıkarın:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Hizmeti yeniden başlatma bölümünde açıklanan komutu çalıştırarak Veri Hareketi ağ geçidi hizmetini yeniden başlatın
Bağlantı noktası
Giden iletişim için güvenlik duvarı bağlantı noktası 443'ün açılması gerekir.
Veri türleri
Parametreli veri türü uzunluğu varsayılan değerlere ayarlanır:
-
STRING: 8192 (uzunluk)
-
BYTES: 8192 (uzunluk)
-
NUMERIC: Kesinlik: 38, Ölçek: 9
-
BIGDECIMAL: Kesinlik: 76, Ölçek: 38
Aşağıdaki tabloda, Qlik Cloud kullanırken desteklenen Google BigQuery 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 | Google BigQuery veri türleri |
---|---|
BOOLEAN |
BOOL |
BYTES |
BYTES (Bayt olarak uzunluk) |
DATE |
DATE |
TIME |
TIME |
DATETIME |
TIMESTAMP |
INT1 |
TINYINT |
INT2 | SMALLINT |
INT4 |
INTEGER |
INT8 | BIGINT |
NUMERIC |
NUMERIC (kesinlik, ölçek) |
REAL4 |
FLOAT64 |
REAL8 |
FLOAT64 |
UINT1 |
TINYINT |
UINT2 |
SMALLINT |
UINT4 |
INTEGER |
UINT8 |
BIGINT |
STRING |
STRING (Bayt olarak uzunluk) |
WSTRING |
STRING (Bayt olarak uzunluk) |
BLOB |
BYTES |
NCLOB |
STRING |
CLOB |
STRING |
Aşağıdaki veri türleri STRING'e dönüştürülür:
-
ARRAY
-
STRUCT
-
JSON
-
GEOGRAPHY
driver öğesini manuel olarak yüklemeyi yalnızca otomatik sürücü yükleme başarıyla tamamlanmadığında denemelisiniz.
Sınırlamalar ve dikkate alınacak noktalar
Verileri bir Google BigQuery hedefine taşırken aşağıdaki sınırlamalar ve unsurlar geçerlidir.
Tüm veri görevleri için sınırlamalar ve dikkat edilecek hususlar
- Aşağıdaki DDL'ler desteklenmez:
- Sütunu bırak
- Sütunu yeniden adlandır
- Sütun veri türünü değiştir
- Tabloyu yeniden adlandır
Birincil Anahtar veya Benzersiz Dizin içermeyen kaynak tablolardan değişikliklerin yakalanması desteklenmez. Bu tür tablolardaki değişiklikleri yakalamanız gerekiyorsa bir dönüşüm kullanarak Birincil Anahtar ekleyebilirsiniz. Ayrıca Birincil Anahtar veya Benzersiz Dizin sütunları NULL içeremez. Bu tür sütunların NULL değerlerle doldurulacağının farkındaysanız NULL değerleri NULL olmayan değerlerle değiştirmek için bir dönüşüm tanımlayın.
Yalnızca çoğaltma görevleri için sınırlamalar ve dikkat edilecek hususlar
- İşlemsel Değişiklikleri uygula modu desteklenmez.
Çakışmaları ve veri hatalarını uygulamak için Kaydı istisnalar tablosuna kaydet hata işleme seçeneği desteklenmez.
Aşağıdaki görev ayarları yapılandırmasıyla, çoğaltma görevi bir DELETE işleminin ardından bir UPDATE yerine bir INSERT işlemi gerçekleştirecektir:
Değişiklikleri uygula modu Toplu iyileştirme olarak ayarlandığında.
Değişiklikleri SQL MERGE kullanarak uygula seçeneği seçilmediğinde.
Çakışmaları Uygula için UPDATE'ler hata işleme şu şekilde ayarlandığında: UPDATE uygulamak üzere kayıt bulunamadı: Eksik hedef kaydını INSERT.
Google Cloud BigQuery geri almayı desteklemediğinden, çoğaltma görevinin güncellenen satırı ekleyememesi durumunda veriler hedeften silinecektir.