Google BigQuery
Google BigQuery 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.
Google BigQuery hedefini ayarlamak şunları içerir:
- Ön koşulları yerine getirme
- Google BigQuery bağlantısını yapılandırma
Google BigQuery bağlantısını yapılandırma
Bağlayıcıyı yapılandırmak için aşağıdakileri yapın:
-
Bağlantılar içinde 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 doğrudan Qlik Cloud üzerinden erişilebiliyorsa Yok'u seçin.
Bağlantı özellikleri
Hizmet hesabı anahtarı: BigQuery hizmet hesabı anahtarınızı oluşturduğunuzda indirilen JSON dosyasını yükleyin.
Konum: Qlik tarafından oluşturulan veri kümesinin yükleneceği yer. Diğer'i seçerseniz, Bölge adı alanına bölge adını girin. Desteklenen bölge adlarının listesi için bkz. BigQuery konumları.
Ad
Bağlantı için görünen ad.
Ön koşullar
Verileri yerleştirme için gereken izinler
Hedef veri kümesini otomatik olarak oluşturmak için gereken izinler:
Veri kümesinin otomatik olarak oluşturulmasını istiyorsanız aşağıdaki izinler gereklidir:
BigQuery > BigQuery Job User
BigQuery > BigQuery Data Editor
Hedef veri kümesi zaten mevcut olduğunda gereken izinler:
Veri kümesi zaten mevcutsa aşağıdaki adımları uygulamanız gerekir:
-
Aşağıdaki izne sahip bir hizmet hesabı oluşturun:
BigQuery > BigQuery Job User
-
Kullanmak istediğiniz veri kümesine gidin ve ardından:
-
Yeni oluşturduğunuz hizmet hesabını bir asıl (principal) olarak ekleyin.
-
BigQuery Data Editor rolünü atayı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 gbq
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 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ş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 gbq
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 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ş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 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 ODBC sürücüsünü hem de JDBC sürücüsünü yüklemeniz gerekir.
ODBC sürücüsünü yükleme
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 için doğrudan indirme bağlantılarını /opt/qlik/gateway/movement/drivers/manifests/gbq.yaml. içindeki binary-artifacts altında bulabilirsiniz. İndirme işlemi tamamlandıktan sonra 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ı:
SimbaODBCDriverforGoogleBigQuery_<version>.tar.gz
şuraya ayıklayın:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux
-
GoogleBigQueryODBC.did ve simba.googlebigqueryodbc.ini dosyalarını Simba ODBC sürücüsü dizini altındaki lib dizinine taşıyın.
Örnek:
Dosyaları şuradan taşıyın:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/setup
şuraya:
/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib
-
simba.googlebigqueryodbc.ini dosyasını aşağıdaki gibi düzenleyin:
-
ErrorMessagesPathdeğerini ODBC mesajlarını içeren XML dosyasının yolu ile değiştirin. Varsayılan konum şudur:ErrorMessagesPath=/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/ErrorMessages DriverManagerEncodingdeğeriniUTF-16olarak değiştirin.
-
-
Veri Hareketi ağ geçidi bin dizininde bulunan site_arep_login.sh dosyasına aşağıdaki yolu ekleyin:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/SimbaODBCDriverforGoogleBigQuery_<version>-Linux/SimbaODBCDriverforGoogleBigQuery64_<version>/lib
-
/etc/odbcinst.ini dosyasını düzenleyin ve sürücü yolunu (yani sürücünün yüklü olduğu yolu) ekleyin:
[ODBC Drivers]Simba= InstalledSimba 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 dosyasını yükleyin.
-
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
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 içindeki binary-artifacts altında listelenen aşağıdaki ZIP dosyası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 makinesindeki aşağıdaki klasöre kopyalayın ve SimbaJDBCDriverforGoogleBigQuery<version>.zip içindeki JAR dosyalarını aynı klasöre ayıklayı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ğerlerle ayarlanacaktır:
-
STRING: 8192 (uzunluk)
-
BYTES: 8192 (uzunluk)
-
NUMERIC: Kesinlik: 38, Ölçek: 9
-
BIGDECIMAL: Kesinlik: 76, Ölçek: 38
Aşağıdaki tablo, Qlik Cloud kullanıldığında desteklenen Google BigQuery 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 | Google BigQuery veri türleri |
|---|---|
|
BOOLEAN |
BOOL |
|
BYTES |
BYTES (Bayt cinsinden uzunluk) |
|
DATE |
DATE |
|
TIME |
TIME |
|
DATETIME |
TIMESTAMP Ölçek > 7 ise: STRING(37) Aksi takdirde, giriş sütunu 6'dan daha düşük bir kesinlik kullansa bile kesinlik her zaman 6'dır. |
|
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 Alt tür JSON ise: JSON |
|
WSTRING |
STRING Alt tür JSON ise: JSON |
|
BLOB |
BYTES |
|
NCLOB |
STRING Alt tür JSON ise: JSON |
|
CLOB |
STRING Alt tür JSON ise: JSON |
| ARRAY | STRING |
| STRUCT | STRING |
| GEOGRAPHY | STRING |
| JSON | JSON |
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
-
Birincil Anahtarı veya Benzersiz Dizini olmayan kaynak tablolardan değişikliklerin yakalanması desteklenmez. Bu tür tablolardan değişiklikleri yakalamanız gerekiyorsa, bir dönüştürme kullanarak bir 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ı biliyorsanız, NULL'ları boş bırakılamayan değerlerle değiştirmek için bir dönüştürme tanımlayın.
-
JSON alanları birincil anahtar olarak desteklenmez.
Yalnızca çoğaltma görevleri için sınırlamalar ve dikkat edilecek hususlar
- İşlemsel Değişiklikleri uygula modu desteklenmez.
-
Aşağıdaki görev ayarları yapılandırmasıyla, çoğaltma görevi bir UPDATE yerine bir DELETE işlemi ve ardından bir INSERT işlemi gerçekleştirecektir:
-
Değişiklikleri uygula modu Toplu iş için optimize edilmiş olarak ayarlanmıştır.
-
Değişiklikleri SQL MERGE kullanarak uygula seçeneği seçili değildir.
-
Çakışmaları Uygulamak için UPDATE'ler hata işleme şu şekilde ayarlanmıştır: Bir UPDATE uygulamak için kayıt bulunamadı: Eksik hedef kaydı INSERT ile ekle.
Google Cloud BigQuery geri almayı desteklemediğinden, çoğaltma görevinin güncellenen satırı ekleyememesi durumunda veriler hedeften silinir.
-