Bu konuda bir çok yol mevcut;
“bq” komutu ile command line üzerinden yapmayı uygun gördüm. Şuan ne yazık ki dataset export bulunmuyor. Bu işlemler için localinizde “gcloud” programı kurulu olmalı. Yükleme aşamaları için tıklayın. Mecburen önce istediğim dataset içindeki tüm tablo isimlerini listelemem gerekiyordu. Şöyle yaptım;
gcloud alpha bq tables list --dataset DATASETADI
liste geldikten sonra her tablo için aşağıdaki komutu oluşturduk. Her export u bir Google Cloud Storage a atıp arşiv olarak saklamayı maliyet ve hız açısından uygun buldum. Exportta en önemli şey şema ve verinin beraber yedeklenmesidir. Bunu sağlayacak format: PARQUET. Birde GZIP ile sıkıştırdık mı harika oluyor.
bq extract --compression=GZIP --destination_format=PARQUET --print_header=false DATASETADI.TABLOADI gs://BUCKETADI/daily_xxxx.com*.gzip
En sonda “*.gzip” yazdığımı farkettiniz dimi ? “*” işaretini koyma sebebimiz eğer tablo 1GB dan büyük ise export çalışmaz, “*” işareti verdiğinizde sizin için bu partları BQ otomatik yapıyor. Nefis!
Eee ya geri import ederken ? Sorun değil krallar bunu da düşünmüş;
bq load --source_format=PARQUET --time_partitioning_field=TABLODAKI_DATE_ALANADI DATASETADI.TABLOADI gs://BUCKETADI/daily_xxx.com*.gzip
Bucket biraz dolacak belki ama GB’larca veriyi arşiv ve saklama için en hızlı ve en pratik çözüm!
Sorusu olan, defansa çağıran olursa vaktim olduğunca yardımcı olabilirim, bana yazın.