1. Giriş
Kodlama uzmanı olmanıza gerek kalmadan verilerinizi analize daha hızlı ve verimli bir şekilde hazırlayabilmeyi hayal edin. BigQuery Veri Hazırlama ile bu artık mümkün. Bu güçlü özellik, veri beslemeyi, dönüştürmeyi ve temizlemeyi basitleştirerek veri hazırlığını kuruluşunuzdaki tüm veri uzmanlarının kullanımına sunar.
Ürün verilerinizin sunduğu fırsatlardan yararlanmaya hazır mısınız?
Ön koşullar
- Google Cloud Console hakkında temel düzeyde bilgi
- SQL hakkında temel düzeyde bilgi
Neler öğreneceksiniz?
- Moda ve güzellik sektöründen gerçekçi bir örnek kullanarak BigQuery veri hazırlama özelliğinin ham verilerinizi nasıl temizleyip uygulanabilir iş zekasına dönüştürebileceğini öğrenin.
- Temizlenmiş verileriniz için veri hazırlığını çalıştırma ve planlama
Gerekenler
- Google Cloud hesabı ve Google Cloud projesi
- Chrome gibi bir web tarayıcısı
2. Temel kurulum ve şartlar
Kendine ait tempoda ortam oluşturma
- Google Cloud Console'da oturum açın ve yeni bir proje oluşturun veya mevcut bir projeyi yeniden kullanın. Gmail veya Google Workspace hesabınız yoksa hesap oluşturmanız gerekir.
- Proje adı, bu projenin katılımcılarının görünen adıdır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. Dilediğiniz zaman güncelleyebilirsiniz.
- Proje kimliği, tüm Google Cloud projelerinde benzersizdir ve değiştirilemez (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dize otomatik olarak oluşturur. Bu dizenin ne olduğu genellikle önemli değildir. Çoğu kod laboratuvarında proje kimliğinize (genellikle
PROJECT_ID
olarak tanımlanır) referans vermeniz gerekir. Oluşturulan kimliği beğenmezseniz rastgele başka bir kimlik oluşturabilirsiniz. Alternatif olarak, kendi anahtarınızı deneyerek kullanılabilir olup olmadığını görebilirsiniz. Bu adımdan sonra değiştirilemez ve proje boyunca geçerli kalır. - Bazı API'lerin kullandığı üçüncü bir değer (Proje Numarası) olduğunu belirtmek isteriz. Bu değerlerin üçü hakkında daha fazla bilgiyi dokümanlar bölümünde bulabilirsiniz.
- Ardından, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i çalıştırmak çok pahalı değildir. Bu eğitimden sonra faturalandırılmamak için kaynakları kapatmak istiyorsanız oluşturduğunuz kaynakları veya projeyi silebilirsiniz. Yeni Google Cloud kullanıcıları 300 ABD doları değerinde ücretsiz deneme programına uygundur.
3. Başlamadan önce
API'yi etkinleştirme
Gemini'yi BigQuery'de kullanmak için Google Cloud API için Gemini'yi etkinleştirmeniz gerekir. Bu adımı genellikle serviceusage.services.enable
IAM iznine sahip bir hizmet yöneticisi veya proje sahibi gerçekleştirir.
- Google Cloud için Gemini API'yi etkinleştirmek üzere Google Cloud Marketplace'teki Google Cloud için Gemini sayfasına gidin. Google Cloud için Gemini'ye gitme
- Proje seçicide bir proje seçin.
- Etkinleştir'i tıklayın. Sayfa güncellenir ve Etkin durumunu gösterir. BigQuery'deki Gemini, gerekli IAM izinlerine sahip tüm kullanıcılar tarafından seçili Google Cloud projesinde kullanılabilir.
Veri hazırlıklarını geliştirmek için rolleri ve izinleri ayarlama
- IAM ve Yönetici bölümünde IAM'ı seçin.
- Kullanıcınızı seçin ve "Baş kullanıcıyı düzenle" için kalem simgesini tıklayın.
BigQuery Veri Hazırlama'yı kullanmak için aşağıdaki rollere ve izinlere sahip olmanız gerekir:
- BigQuery Veri Düzenleyicisi (roles/bigquery.dataEditor)
- Hizmet Kullanımı Tüketicisi (roles/serviceusage.serviceUsageConsumer)
4. BigQuery Analytics Hub'da "bq data preparation demo" listelemesini bulma ve listeye abone olma
Bu eğitimde bq data preparation demo
veri kümesini kullanacağız. BigQuery Analytics Hub'da, verilerini okuyacağımız bağlı bir veri kümesidir.
Veri hazırlama işlemi hiçbir zaman kaynağa geri yazmaz. Yazılacak bir hedef tablo tanımlamanızı isteriz. Bu alıştırmada kullanacağımız tabloda,maliyetleri en aza indirmek için yalnızca 1.000 satır vardır ancak veri hazırlama işlemi BigQuery'de çalışır ve ölçeklendirilir.
Bağlı veri kümesini bulup abone olmak için aşağıdaki adımları uygulayın:
- Analytics Hub'a erişin: Google Cloud Console'da BigQuery'ye gidin.
- BigQuery gezinme menüsünde "Yönetim" bölümünde "Analytics Hub"ı seçin.
- Giriş için arama yapın: Analytics Hub kullanıcı arayüzünde Girişleri Ara'yı tıklayın."
- Arama çubuğuna
bq data preparation demo
yazıp Enter tuşuna basın.
- Girişlere abone olma: Arama sonuçlarından
bq data preparation demo
girişini seçin. - Giriş ayrıntıları sayfasında Abone ol düğmesini tıklayın.
- Onay iletişim kutularını inceleyin ve gerekirse projeyi/veri kümesini güncelleyin. Varsayılan değerler doğru olmalıdır.
- BigQuery'de veri kümesine erişme: Başarılı bir şekilde abone olduktan sonra, girişteki veri kümeleri BigQuery projenize bağlanır.
BigQuery Studio'ya dönün.
5. Verileri keşfetme ve veri hazırlama işlemini başlatma
- Veri kümesini ve tabloyu bulun: Gezgin panelinde projenizi seçin ve ardından
bq data preparation demo
listesine eklenen veri kümesini bulun.stg_product
tablosunu seçin. - Veri Hazırlama'da aç: Tablo adının yanındaki üç dikey noktayı tıklayın ve
Open in Data Preparation
simgesini seçin.
Bu işlem, tabloyu Veri Hazırlama arayüzünde açar ve verilerinizi dönüştürmeye başlamanıza olanak tanır.
Aşağıdaki veri önizlemesinde görebileceğiniz gibi, çözmemiz gereken bazı veri sorunları var. Bunlar arasında şunlar yer alıyor:
- Fiyat sütunu hem tutarı hem de para birimini içerdiğinden analizi zorlaştırır.
- Ürün sütununda ürün adı ve kategorisi (dikey çizgi sembolü | ile ayrılmış) birlikte yer alır.
Gemini, verilerinizi hemen analiz eder ve çeşitli dönüşümler önerir. Bu örnekte birkaç öneri görüyoruz. Sonraki adımlarda ihtiyacımız olanları uygulayacağız.
6. Fiyat sütununu işleme
Fiyat sütunuyla ilgilenelim. Gördüğümüz gibi, hem para birimini hem de tutarı içerir. Amacımız, bunları iki ayrı sütuna (Para Birimi ve Tutar) ayırmaktır.
Gemini, Fiyat sütunu için birkaç öneri belirledi.
- Aşağıdakine benzer bir öneri bulun:
Açıklama: "Bu ifade, belirtilen alandaki "USD" ön ekini kaldırır"
REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
- Önizlemeyi seçin
- Uygula'yı seçin.
Ardından Fiyat sütununun veri türünü STRING'den NUMERIC'e dönüştürelim.
- Aşağıdakine benzer bir öneri bulun:
Açıklama: "Fiyat sütununu dize türünden float64 türüne dönüştürür"
SAFE_CAST(Price AS float64)
- Uygula'yı seçin.
Adım listenizde artık uygulanmış üç adım görebilirsiniz.
7. Ürün sütununu işleme
Ürün sütunu, hem ürün adını hem de kategoriyi bir boru (|) ile ayrılmış şekilde içerir.
Doğal dili tekrar kullanabiliriz ancak önce Gemini'nin güçlü özelliklerinden bir diğerine göz atalım.
Ürün adını temizleme
- Ürün girişinin
|
karakteri dahil kategori bölümünü seçip silin.
Gemini bu kalıbı akıllıca tanır ve sütunun tamamına uygulanacak bir dönüşüm önerir.
- "Düzenle"yi seçin.
Gemini'nin önerisi tam olarak doğru: "|" karakterinden sonra gelen her şey kaldırılarak ürün adı etkili bir şekilde izole edilir.
Ancak bu sefer orijinal verilerimizin üzerine yazmak istemiyoruz.
- Hedef sütun açılır listesinde "Yeni sütun oluştur"u seçin.
- Adı ProductName olarak ayarlayın.
- Her şeyin yolunda olduğundan emin olmak için değişiklikleri önizleyin.
- Dönüşümü uygulayın.
Ürün kategorisini ayıklayın
Doğal dil kullanarak Gemini'ye Ürün sütunundaki dikey çizgiden (|) sonraki kelimeyi ayıklaması talimatını vereceğiz. Ayıklanan bu değerin üzerine Ürün adlı mevcut sütunda yazılır.
- Yeni bir dönüşüm adımı eklemek için
Add Step
simgesini tıklayın.
- Açılır menüden
Transformation
simgesini seçin. - Doğal dil istemi alanına "Ürün sütununda boru işaretinden (|) sonraki kelimeyi ayıklayın." yazın ve SQL'i oluşturmak için Return tuşuna basın.
- Hedef sütununu "Ürün" olarak bırakın.
- Uygula'yı tıklayın.
Dönüşüm aşağıdaki sonuçları verir.
8. Verileri zenginleştirmek için birleştirme
Verilerinizi genellikle diğer kaynaklardan alınan bilgilerle zenginleştirmek istersiniz. Örneğimizde, ürün verileri ile üçüncü taraf tablosundaki genişletilmiş ürün özelliklerini (stg_extended_product
) birleştireceğiz. Bu tabloda marka ve lansman tarihi gibi ayrıntılar yer alır.
Add Step
simgesini tıklayın.Join
adlı yolu seçstg_extended_product
tablosuna gidin.
BigQuery'deki Gemini, ürün kimliği birleştirme anahtarını bizim için otomatik olarak seçti ve anahtar adı aynı olduğundan sol ve sağ tarafları niteliklendirdi.
Not: Açıklama alanında "productid'ye göre birleştir" ifadesinin yer aldığından emin olun. Ek birleştirme anahtarları içeriyorsa açıklama alanının üzerine "productid'ye göre birleştirme" yazın ve birleştirme ifadesini aşağıdaki koşulla L yeniden oluşturmak için açıklama alanındaki oluştur düğmesini seçin.
productid
= R.
productid
.
- Dilerseniz sonuçları önizlemek için Önizle'yi seçin.
Apply
simgesini tıklayın.
Genişletilmiş özellikleri temizleme
Birleştirme işlemi başarılı olsa da genişletilmiş özellikler verileri biraz temizlenmelidir. LaunchDate
sütununda tutarsız tarih biçimleri, Brand
sütununda ise eksik değerler var.
LaunchDate
sütununu ele alarak başlayacağız.
Dönüşüm oluşturmadan önce Gemini'nin önerilerini kontrol edin.
LaunchDate
sütun adını tıklayın. Aşağıdaki resimdekine benzer bazı öneriler görürsünüz.
- Aşağıdaki SQL'yi içeren bir öneri görürseniz öneriyi Uygula ve sonraki adımları atlayın.
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
- Yukarıdaki SQL ile eşleşen bir öneri görmüyorsanız
Add Step
simgesini tıklayın. Transformation
simgesini seçin.- SQL alanına şunları girin:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
Target Columns
öğesiniLaunchDate
olarak ayarlayın.Apply
simgesini tıklayın.
LaunchDate sütununda artık tutarlı bir tarih biçimi kullanılıyor.
9. Hedef tablo ekleme
Veri kümemiz artık temiz ve veri ambarzımızdaki bir boyut tablosuna yüklenmeye hazır.
ADD STEP
simgesini tıklayın.Destination
simgesini seçin.- Gerekli parametreleri doldurun: Veri kümesi:
bq_data_preparation_demo
Tablo:DimProduct
Save
simgesini tıklayın.
Artık "Veriler" ve "Şema" sekmeleriyle çalışıyoruz. BigQuery Veri Hazırlama, bunlara ek olarak ardışık düzeninizdeki dönüşüm adımlarının sırasını görsel olarak gösteren bir "Grafi" görünümü sunar.
10. Bonus A: Üretici sütununu işleme ve hata tablosu oluşturma
Ayrıca Manufacturer
sütununda boş değerler tespit ettik. Bu kayıtlar için bir veri kalitesi kontrolü uygulamak ve daha ayrıntılı inceleme için bunları bir hata tablosuna taşımak istiyoruz.
Hata tablosu oluşturma
stg_product data preparation
başlığının yanındakiMore
düğmesini tıklayın.Setting
bölümünün altındaError Table
simgesini seçin.Enable error table
kutusunu işaretleyin, ayarları aşağıdaki gibi yapılandırın:
- Veri kümesi:
bq_data_preparation_demo
seçin - Tablo:
err_dataprep
yazın Define duration for keeping errors
bölümünde30 days (default)
'i seçin.
Save
simgesini tıklayın.
Üretici sütununda doğrulama ayarlama
- Üretici sütununu seçin.
- Gemini büyük olasılıkla alakalı bir dönüşüm tespit etmiş olacaktır. Yalnızca Üretici alanının boş olmadığı satırları koruyan öneriyi bulun. Aşağıdakine benzer bir SQL içerir:
Manufacturer IS NOT NULL
2.İncelemek için bu önerideki "Düzenle" düğmesini tıklayın.
- "Doğrulanamayan satırlar hata tablosuna yönlendirilir" seçeneğini işaretleyin (işaretli değilse)
Apply
simgesini tıklayın.
"Uygulanan adımlar" düğmesini tıklayarak istediğiniz zaman uyguladığınız dönüşümleri inceleyebilir, değiştirebilir veya silebilirsiniz.
Gereksiz ProductID_1 sütununu temizleme
Birleştirilmiş tablomuzdaki ProductID sütununu kopyalayan ProductID_1 sütunu artık silinebilir.
Schema
sekmesine gidinProductID_1
sütununun yanındaki 3 noktayı tıklayın.Drop
simgesini tıklayın.
Artık veri hazırlama işini çalıştırmaya ve veri akışımızın tamamını doğrulamaya hazırız. Sonuçlardan memnun kaldıktan sonra işi otomatik olarak çalışacak şekilde planlayabiliriz.
- Veri hazırlama görünümünden ayrılmadan önce hazırlıklarınızı kaydedin.
stg_product data preparation
başlığının yanında birSave
düğmesi görürsünüz. Kaydetmek için düğmeyi tıklayın.
11. Ortamı temizleme
stg_product data preparation
dosyasını silin.bq data preparation demo
veri kümesini silme
12. Tebrikler
Codelab'i tamamladığınız için tebrikler.
Ele aldığımız konular
- Veri hazırlama işlemini ayarlama
- Tabloları açma ve veri hazırlama bölümünde gezinme
- Sayısal ve birim tanımlayıcı verileri içeren sütunları bölme
- Tarih biçimlerini standartlaştırma
- Veri hazırlama işlemlerini çalıştırma