Polybase Nedir? SQL den SQL e polybase ile veri çekmek

Polybase Nedir? SQL den SQL e polybase ile veri çekmek,

Polybase  sql server’ın bize sunduğu güzel yardımcı araçlardan bir tanesidir.
Bunun sayesinde farklı kaynaklardan tablolarımızı tek bir veritabanında toplayarak join yapabilir sorgular çekebiliriz. Bu kaynaklardan bazıları MSSQL,Postgresql ,MYSQL,Hadoop ,Azure blog storage gibi kaynaklardan veri çekebilirsiniz.

Polybase kullanabilmeniz için kurulum sırasında polybase ile ilgili alanları seçmeniz gerekmektedir. Bunu seçtikten sonra kurulumları gerçekleştirebilirsiniz.

SQL201901 – Verilerin toplanacağı instance

SQL201902 – Veri çekilecek instance

İlk olarak sp_configure üzerinden enable ediyoruz.(SQL201901)

EXEC SP_CONFIGURE @CONFIGNAME = 'polybase enabled', @CONFIGVALUE = 1;
RECONFIGURE WITH OVERRIDE;

Enable edildikten sonra verilerimizin toplanacağı instance da veritabanı oluşturuyoruz.

CREATE LOGIN [PolyBaseUser] WITH PASSWORD=N'farukerdem.com', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE [d1]
GO
CREATE USER [PolyBaseUser] FOR LOGIN [PolyBaseUser]
GO
USE [d1]
GO
ALTER ROLE [db_datareader] ADD MEMBER [PolyBaseUser]
GO

 

Tekrardan SQL201901 sunucusuna gelerek polybase konfigurasyonlarına devam ediyoruz.

Bağlantı için credentialımızı oluşturuyoruz.

USE PolyBaseD1
go
CREATE DATABASE SCOPED CREDENTIAL d1
WITH IDENTITY = 'polybaseuser', Secret = 'farukerdem.com';

Data source oluştururak erişim bilgilerini dolduruyoruz.

CREATE EXTERNAL DATA SOURCE PolyBaseD1_DS
WITH (
  LOCATION = 'sqlserver://DESKTOP-V0UFSNU' ,
  CONNECTION_OPTIONS = 'Server=%s\SQL201902' ,
  CREDENTIAL = d1
);

Credential ve Data Source oluşturduk ve bağlantılarımız tamamlandı  verisini çekmek istediğimiz tabloya uygun bir şekilde external table oluşturuyoruz.

CREATE EXTERNAL TABLE [dbo].[EX_Polybase_table]
(
	[id] [int] NULL,
	[adi] [varchar](50) NULL,
	[soyadi] [varchar](50) NULL
)
WITH (DATA_SOURCE = [PolyBaseD1_DS],LOCATION = N'[d1].dbo.Polybase_table')
GO

Aşağıda görüldüğü gibi tablomuz veritabanı içerisinde external table başlığı altında oluşturuldu.

Verileri sorgulamak için bildiğimiz select cümlesini kullanabiliriz.

 

Loading