2016-04-06 29 views
7

BigQuery'den (örn. Raporlar) bir CloudSQL veritabanına veri dökmek istiyorum, bu programa ulaşmanın en iyi yolu nedir?Google BigQuery'den CloudSQL'e dışa aktarma?

Bir BigQuery sorgusu yürüterek, bir CSV olarak indirip, sonra da Cloud konsolunu kullanarak yükleyerek bunu manually yapabilirim, ancak bu programatik olarak tercihen Python/SQL'de yapmak istiyorum.

cevap

4

Tüm tabloları dökmek istiyorsanız, bunu elde etmek için BigQuery ve Cloud SQL API'lerinin bir birleşimini kullanabilirsiniz. BigQuery tablosunu Cloud Storage'a ayıklamak için BigQuery belgeleri has an API example in python

.

Veriler Bulut Depolama alanında olduğunda, verileri MySQL tablosuna almak için Cloud SQL Admin API'u kullanabilirsiniz.

Daha ayrıntılı denetim gerekirse, sorguyu gerçekleştirmek, sonuçları almak, Cloud SQL örneğine bağlanmak ve verileri eklemek için BigQuery API'sini kullanabilirsiniz. Bu, veri miktarı büyükse, iyi performans göstermez.

Daha karmaşık bir yaklaşım, ilgilendiğiniz verileri Cloud Storage'a yazmak için Dataflow'u kullanmak ve almak için Cloud SQL API'sini kullanmaktır.

(kendi merakı için, bunun yerine BigQuery'ye Cloud SQL veri isteyen kullanma durumu tarif edebilir? Bizim müşterilerimizin ürünü nasıl kullandıklarını anlamaya/bize bana yardımcı olacak ve biz artırabilir nerede.)

+1

İki kullanım durumu sunabilirim: 1) Gerçekten SQL uyumlu veritabanı (UPDATE, DELETE vb.) Gerektiren bir üçüncü taraf aracı veya LOB uygulaması kullanmak istiyorsunuz. BQ’de verileri hazırlayın, ardından CloudSQL’ye aktarın. 2) MySQL'den BQ’ya bağlantı için karmaşık veya pahalı olan işleme/analiz/ETL betikleriniz var. BQ'deki verileri hazırlayın, CloudSQL'de bazı işlemleri yapın, ardından BQ'ye geri getirin. Bu ihtiyacı ortadan kaldırmak için, BQ ANSI-SQL uyumluluğuna ve saklı yordamlara ihtiyaç duyacaktır. (Ben de önermiyorum ... sadece söylüyorum.) –

+0

Teşekkür ederiz, kullanım durumumuz: BigQuery'deki büyük veriyi 'numaralandırma' yapmak istiyoruz ve günlük raporlar üretmek istiyoruz. BQ sorguları bir MySQL veritabanına yerleştirerek, bunları bir web panosundan/API'den kolayca görüntüleyebilmekteyiz/API –

+0

Başka bir kullanım durumu, basit bir kimlikten ziyade daha esnek birleşimlere erişmek istemektedir, çünkü büyük tabloların çapraz birleşmesi, BigQuery'nin at gücünü bile hızla alt eder. – oulenz

İlgili konular