Veri mühendisliği
CSV, staging, ETL ve veri kalitesi
Ham veriyi doğrulamadan üretime taşıma.
Kavramı anlayalım
Staging, dış kaynağın ham kayıtlarını doğrulama ve dönüşümden önce ayırır. CSV’de encoding, ayraç, tırnak içindeki ayraç, tarih biçimi ve NULL temsili açıkça tanımlanmalıdır. BULK INSERT dosyası tarayıcıya değil SQL Server servisinin erişimine bağlıdır; bu nedenle burada yalnız güvenli VALUES ile staging gösterilir.
ETL’de type conversion hatalarını TRY_CONVERT ile yakalayıp quarantine listesine ayır. Tekrar çalıştırma duplicate üretmemeli: iş anahtarı, batch kimliği ve idempotency tasarla. Incremental yükte watermark geciken kayıtları kaçırabilir; lookback penceresi, değişiklik feed’i ve reconciliation ihtiyacını değerlendir. Başarı yalnız “komut tamamlandı” değildir: kaynak/hedef sayısı, toplamlar ve reddedilen kayıtlar ölçülmelidir.
Dış veriyi güvenilir kayıt haline getirmek için.
Geçersiz değeri sessizce sıfıra dönüştürmek.
Aynı konu. Üç farklı derinlik.
SELECT TRY_CONVERT(decimal(10,2), N'120.50') AS Amount, TRY_CONVERT(decimal(10,2), N'wrong') AS Invalid;Geçersiz değer NULL ile ayrılır.
Bu sayfa SQL çalıştırmaz. Örnekleri indirilebilir SqlStudioLab veritabanında, SSMS’de uygula. Geçici tablo örneklerini yeniden çalıştırırken yalnız ilgili #tabloyu temizle. VIEW, procedure ve function örnekleri lab’da kalıcı nesne oluşturur; üretim bağlantısı kullanma.
Önce kendin dene.
Stage içindeki geçerli pozitif tutarları getir.
Çözümü ve açıklamasını göster
SELECT Code, TRY_CONVERT(decimal(10,2), RawAmount) AS Amount FROM #Stage WHERE TRY_CONVERT(decimal(10,2), RawAmount) > 0;Önce orta örneği çalıştır. A ve C alınır; B kaybolmamalı, reddedilen kayıt olarak raporlanmalıdır.