1. Giriş
Kodlama uzmanı olmanıza gerek kalmadan verilerinizi daha hızlı ve verimli bir şekilde analize hazırlayabildiğinizi hayal edin. BigQuery Data Preparation ile bu mümkün. Bu güçlü özellik, veri alımını, dönüştürmeyi ve temizlemeyi basitleştirerek veri hazırlama işlemlerini kuruluşunuzdaki tüm veri uzmanlarının kullanımına sunar.
Ürün verilerinizde gizli olan sırları ortaya çıkarmaya hazır mısınız?
Ön koşullar
- Google Cloud Console hakkında temel bilgiler
- SQL ile ilgili temel bilgiler
Neler öğreneceksiniz?
- BigQuery veri hazırlama özelliğinin, ham verilerinizi temizleyip işlenebilir iş zekasına nasıl dönüştürebileceği, Moda ve Güzellik sektöründen gerçekçi bir örnekle açıklanmaktadır.
- Temizlenmiş verileriniz için veri hazırlama işlemini ç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
Yönlendirmesiz ortam kurulumu
- 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ı için görünen addır. Google API'leri tarafından kullanılmayan bir karakter dizesidir. Bu bilgiyi istediğiniz zaman güncelleyebilirsiniz.
- Proje kimliği, tüm Google Cloud projelerinde benzersizdir ve sabittir (ayarlandıktan sonra değiştirilemez). Cloud Console, benzersiz bir dizeyi otomatik olarak oluşturur. Genellikle bu dizenin ne olduğuyla ilgilenmezsiniz. Çoğu codelab'de proje kimliğinize (genellikle
PROJECT_IDolarak tanımlanır) başvurmanız gerekir. Oluşturulan kimliği beğenmezseniz başka bir rastgele kimlik oluşturabilirsiniz. Dilerseniz kendi adınızı deneyerek kullanılabilir olup olmadığını kontrol edebilirsiniz. Bu adım tamamlandıktan sonra değiştirilemez ve proje süresince geçerli kalır. - Bazı API'lerin kullandığı üçüncü bir değer olan Proje Numarası da vardır. Bu üç değer hakkında daha fazla bilgiyi belgelerde bulabilirsiniz.
- Ardından, Cloud kaynaklarını/API'lerini kullanmak için Cloud Console'da faturalandırmayı etkinleştirmeniz gerekir. Bu codelab'i tamamlamak neredeyse hiç maliyetli değildir. Bu eğitimin ötesinde faturalandırılmayı önlemek için kaynakları kapatmak üzere oluşturduğunuz kaynakları veya projeyi silebilirsiniz. Yeni Google Cloud kullanıcıları 300 ABD doları değerinde ücretsiz deneme programından yararlanabilir.
3. Başlamadan önce
API'yi etkinleştirme
BigQuery'de Gemini'ı kullanmak için Google Cloud için Gemini API'yi etkinleştirmeniz gerekir. Bu adım genellikle serviceusage.services.enable IAM iznine sahip bir hizmet yöneticisi veya proje sahibi tarafından gerçekleştirilir.
- 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'a gitme
- Proje seçicide bir proje seçin.
- Etkinleştir'i tıklayın. Sayfa güncellenir ve Etkin durumu gösterilir. BigQuery'da Gemini, gerekli IAM izinlerine sahip tüm kullanıcılar tarafından seçili Google Cloud projesinde kullanılabilir.
Veri hazırlama işlemleri geliştirmek için rolleri ve izinleri ayarlama
- IAM ve Yönetici bölümünde IAM'yi seçin.

- Kullanıcınızı seçin ve "Asıl öğeyi düzenle" seçeneğini tıklayın.

BigQuery Veri Hazırlama'yı kullanmak için aşağıdaki rollere ve izinlere ihtiyacınız vardır:
- BigQuery Veri Düzenleyicisi (roles/bigquery.dataEditor)
- Hizmet Kullanımı Tüketicisi (roles/serviceusage.serviceUsageConsumer)
4. BigQuery Analytics Hub'da "bq data preparation demo" listesini bulma ve listeye abone olma
Bu eğitimde bq data preparation demo veri kümesini kullanacağız. Bu, BigQuery Analytics Hub'da bağlantılı bir veri kümesidir ve bu veri kümesinden okuma yapacağız.
Veri hazırlama işlemi hiçbir zaman kaynağa geri yazmaz ve 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 bulunuyor. Ancak veri hazırlama işlemi BigQuery'de çalışır ve ölçeklenebilir.
Bağlı veri kümesini bulup abone olmak için aşağıdaki adımları uygulayın:
- Analytics Hub'a erişme: Google Cloud Console'da BigQuery'ye gidin.
- BigQuery gezinme menüsünde, "Yönetim" bölümünde "Analytics Hub"ı seçin.

- Listelemeyi arama: Analytics Hub kullanıcı arayüzünde Listelemeleri Ara'yı tıklayın.
- Arama çubuğuna
bq data preparation demoyazıp Enter tuşuna basın.

- Listeye abone olma: Arama sonuçlarından
bq data preparation demolistesini seçin. - Listeleme 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ılanlar doğru olmalıdır.

- BigQuery'de veri kümesine erişme: Başarıyla abone olduktan sonra, listelemedeki 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 demolistesine dahil edilen veri kümesini bulun.stg_producttablosunu seçin. - Veri hazırlama bölümünde açma: Tablo adının yanındaki üç dikey noktayı tıklayın ve
Open in Data Preparationsimgesini seçin.
Bu işlem, tabloyu Veri Hazırlama arayüzünde açar ve verilerinizi dönüştürmeye başlamaya hazır hale getirir.

Aşağıdaki veri önizlemesinde görebileceğiniz gibi, ele alacağımız bazı veri sorunları var. Bunlar arasında şunlar yer alıyor:
- Fiyat sütununda hem tutar hem de para birimi yer aldığından analiz yapmak zorlaşıyor.
- Ürün sütununda ürün adı ve kategori (dikey çizgi sembolü | ile ayrılmış) birlikte yer alır.

Gemini, verilerinizi anında analiz eder ve çeşitli dönüşümler önerir. Bu örnekte birkaç öneri görüyoruz. İhtiyacımız olanları sonraki adımlarda uygulayacağız.

6. Fiyat sütununu işleme
Şimdi Fiyat sütununa bakalım. Gördüğümüz gibi, para birimi ve tutar bilgilerini içerir. Amacımız bunları iki ayrı sütuna (Para Birimi ve Tutar) ayırmaktır.
Gemini, fiyat sütunu için çeşitli öneriler belirledi.
- Aşağıdakine benzer bir öneri bulun:
Açıklama: "Bu ifade, belirtilen alandaki baştaki "USD " ifadesini kaldırır"
REGEXP_REPLACE(Price,` `r'^USD\s',` `r'')
- Önizlemeyi seçin.

- Uygula'yı seçin.
Ardından, Fiyat sütunu için 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.
Artık adım listenizde üç uygulanan adım görmeniz gerekir.

7. Ürün sütununu işleme
Ürün sütununda, ürün adı ve kategorisi dikey çizgi (|) ile ayrılmış şekilde yer alıyor.
Doğal dili tekrar kullanabiliriz ancak Gemini'ın güçlü özelliklerinden bir diğerini keşfedelim.
Ürün adını temizleme
|karakterini içeren bir ürün girişinin 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üştürme önerir.
- "Düzenle"yi seçin.

Gemini'ın önerisi doğru: "|" karakterinden sonraki her şeyi kaldırarak ürün adını etkili bir şekilde ayırıyor.
Ancak bu kez orijinal verilerimizin üzerine yazmak istemiyoruz.
- Hedef sütunu açılır listesinde "Yeni sütun oluştur"u seçin.
- Adı ProductName olarak ayarlayın.

- Her şeyin iyi göründüğünden emin olmak için değişiklikleri önizleyin.
- Dönüşümü uygulayın.
Ürün kategorisini ayıklama
Doğal dil kullanarak Gemini'a Ürün sütunundaki dikey çizgiden (|) sonra gelen kelimeyi ayıklaması talimatını vereceğiz. Bu ayıklanan değer, Ürün adlı mevcut sütunun üzerine yazılır.
- Yeni bir dönüştürme adımı eklemek için
Add Stepsimgesini tıklayın.

- Açılır menüden
Transformationseçeneğini belirleyin. - Doğal dil istemi alanına "Ürün sütunundaki dikey çizginin (|) ardından gelen kelimeyi ayıkla." yazıp Enter tuşuna basın. Böylece SQL oluşturulur.

- Hedef sütunu "Ürün" olarak bırakın.
- Uygula'yı tıklayın.
Dönüşüm sonucunda aşağıdaki sonuçları elde etmeniz gerekir.

8. Verileri zenginleştirmek için birleştirme
Çoğu zaman verilerinizi diğer kaynaklardaki bilgilerle zenginleştirmek isteyebilirsiniz. Örneğimizde, ürün verilerimizi üçüncü taraf tablosundaki stg_extended_product ile genişletilmiş ürün özellikleriyle birleştireceğiz. Bu tabloda marka ve lansman tarihi gibi ayrıntılar yer alır.
Add Stepsimgesini tıklayın.Joinadlı yolu seçstg_extended_producttablosuna gidin.

BigQuery'deki Gemini, bizim için productid birleştirme anahtarını otomatik olarak seçti ve anahtar adı aynı olduğundan sol ve sağ tarafları nitelendirdi.
Not: Açıklama alanında "Join by productid" (Ürün kimliğine göre katıl) ifadesinin yer aldığından emin olun. Ek birleştirme anahtarları içeriyorsa açıklama alanının üzerine "Ürün kimliğine göre birleştir" yazın ve açıklama alanındaki oluştur düğmesini seçerek birleştirme ifadesini şu koşulla yeniden oluşturun: L.
productid
= R.
productid. 
- İsteğe bağlı olarak, sonuçları önizlemek için Önizleme'yi seçin.
Applysimgesini tıklayın.
Genişletilmiş özellikleri temizleme
Birleştirme işlemi başarılı olsa da genişletilmiş özellikler verilerinin temizlenmesi gerekiyor. LaunchDate sütununda tutarsız tarih biçimleri var ve Brand sütununda bazı değerler eksik.
LaunchDate sütununu ele alarak başlayacağız.

Dönüşüm oluşturmadan önce Gemini'ın önerilerini kontrol edin.
LaunchDatesütun adını tıklayın. Aşağıdaki resimde gösterilenlere benzer öneriler görürsünüz.

- Aşağıdaki SQL'i içeren bir öneri görürseniz öneriyi Uygula'yı tıklayın 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 Stepsimgesini tıklayın. Transformationsimgesini seçin.- SQL alanına aşağıdakileri girin:
COALESCE(SAFE.PARSE_DATE('%Y-%m-%d',
LaunchDate),SAFE.PARSE_DATE('%Y/%m/%d', LaunchDate))
Target ColumnsdeğeriniLaunchDateolarak ayarlayın.Applysimgesini tıklayın.
LaunchDate sütununda artık tutarlı bir tarih biçimi var.

9. Hedef tablo ekleme
Veri kümemiz artık temiz ve veri ambarımızdaki bir boyut tablosuna yüklenmeye hazır.
ADD STEPsimgesini tıklayın.Destinationsimgesini seçin.- Gerekli parametreleri doldurun: Veri kümesi:
bq_data_preparation_demoTablo:DimProduct Savesimgesini tıklayın.

Artık "Veri" ve "Şema" sekmeleriyle çalıştınız. Bunlara ek olarak BigQuery Veri Hazırlama, işlem hattınızdaki dönüşüm adımlarının sırasını görsel olarak gösteren bir "Grafik" 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 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 preparationbaşlığının yanındakiMoredüğmesini tıklayın.SettingbölümündeError Tablesimgesini seçin.Enable error tablekutusunu işaretleyin ve ayarları aşağıdaki gibi yapılandırın:
- Veri kümesi:
bq_data_preparation_demoseçeneğini belirleyin. - Tablo:
err_dataprepgirin. Define duration for keeping errorsbölümünde30 days (default)seçeneğini belirleyin.
Savesimgesini tıklayın.

Üretici sütununda doğrulama ayarlama
- Üretici sütununu seçin.
- Gemini, alakalı bir dönüşüm belirlemiş olabilir. Yalnızca Üretici alanının boş olmadığı satırları tutan öneriyi bulun. Aşağıdakine benzer bir SQL'e sahip olur:
Manufacturer IS NOT NULL
2.Bu öneriyi incelemek için "Düzenle" düğmesini tıklayın.

- "Doğrulama başarısız olan satırlar hata tablosuna gider" seçeneği işaretlenmemişse işaretleyin.
Applysimgesini tıklayın.
Uyguladığınız dönüşümleri istediğiniz zaman "Uygulanan adımlar" düğmesini tıklayarak inceleyebilir, değiştirebilir veya silebilirsiniz.

Gereksiz ProductID_1 sütununu temizleme
Birleştirilmiş tablomuzdaki ProductID değerini kopyalayan ProductID_1 sütunu artık silinebilir.
Schemasekmesine gidin.ProductID_1sütununun yanındaki 3 noktayı tıklayın.Dropsimgesini tıklayın.
Artık veri hazırlama işini çalıştırmaya ve tüm işlem hattımızı doğrulamaya hazırız. Sonuçlardan memnun kaldığımızda işin otomatik olarak çalıştırılmasını planlayabiliriz.
- Veri hazırlama görünümünden ayrılmadan önce hazırlıklarınızı kaydedin.
stg_product data preparationbaşlığının yanındaSavedüğmesini görürsünüz. Kaydetmek için düğmeyi tıklayın.
11. Ortamı temizleme
- Sil
stg_product data preparation bq data preparation demoveri kümesini silme
12. Tebrikler
Codelab'i tamamladığınız için tebrik ederiz.
İşlediğimiz konular
- Veri hazırlama ayarlarını yapma
- Tabloları açma ve veri hazırlama işleminde gezinme
- Sayısal ve birim tanımlayıcı veriler içeren sütunları bölme
- Tarih biçimlerini standartlaştırma
- Veri hazırlama işlemlerini çalıştırma