PolyBase ile MongoDB Veri Çekmek
PolyBase ile MongoDB Veri Çekmek,Polybase birden fazla kaynaklardan veri çekerek bunları tek veritabanında toplamamıza imkan sağlamaktadır.
Polybase ile SQL den SQL e veri çekmek için Polybase Nedir? SQL den SQL e polybase ile veri çekmek yazıma bakabilirsiniz.
Polybase ile PostgreSQL den SQL e veri çekmek için PolyBase ile Postgresql den SQL Server’a Veri Aktarımı yazıma bakabilirsiniz.
Bu yazımda Mongo da bulunan tabloyu sql üzerinde polybase yardımı ile sorgulamayı anlatacağım.
Master key oluşturmadıysanız master key oluşturmanız gerekmektedir.
CREATE MASTER KEY ENCRYPTION BY PASSWORD ='farukerdem.com'
Master keyimizi oluşturduktan sonra mongodb veritabanında bulunan kullanıcımızı girmemiz gerekmektedir.
CREATE DATABASE SCOPED CREDENTIAL mongo_credential
WITH IDENTITY = 'polybaseuser', SECRET = 'farukerdem.com';
Veritabanımızda credential oluşturduk mongodb bağlantımız için data source oluşturuyoruz.
CREATE EXTERNAL DATA SOURCE Mongodb_ds
WITH (
LOCATION = 'mongodb://20.56.93.246:27017',
-- PUSHDOWN = ON | OFF,
CREDENTIAL = mongo_credential,CONNECTION_OPTIONS='ssl=false;'
);
Bağlantı ve kullanıcı bilgilerini sql server a tanıttık mongo üzerinde çekmek istediğimiz verilerimizi görelim.
Yukarıda görüldüğü üzere üç kolona sahip collection(tablo) bulunmaktadır. Mongodb üzerinde ki tablomuzu SQL Server üzerinde görebilmek için aşağıdaki gibi external table oluşturmamız gerekiyor.
CREATE EXTERNAL TABLE mongo_ex_table
( _id nvarchar(25) ,
name nvarchar(max),
[birthday] DATETIME2(6))
WITH (LOCATION = 'frkd1.test', DATA_SOURCE=Mongodb_ds)
External tablomuzu oluşturduk . Verilerimizi çekerek kontrol edelim.