Bagikan melalui


Mengonfigurasi PolyBase untuk mengakses data eksternal dengan jenis generik ODBC

Berlaku untuk:SQL Server

PolyBase yang dimulai di SQL Server 2019 memungkinkan Anda menyambungkan ke sumber data yang kompatibel dengan ODBC menggunakan konektor ODBC.

Artikel ini menunjukkan cara membuat konfigurasi konektivitas menggunakan sumber data ODBC. Panduan yang diberikan menggunakan satu driver ODBC tertentu sebagai contoh. Tanyakan kepada penyedia ODBC Anda untuk contoh tertentu. Referensikan dokumentasi driver ODBC untuk sumber data Anda untuk menentukan opsi string koneksi yang sesuai. Contoh dalam artikel ini mungkin tidak berlaku untuk driver ODBC tertentu.

Prasyarat

Catatan

Fitur ini memerlukan SQL Server di Windows.

  • PolyBase harus diinstal dan diaktifkan untuk penginstalan PolyBase instans SQL Server Anda.

  • Sebelum membuat kredensial lingkup database, Kunci Master harus dibuat.

Pasang pengandar ODBC

Unduh dan instal driver ODBC sumber data yang ingin Anda sambungkan pada setiap simpul PolyBase. Setelah driver diinstal dengan benar, Anda dapat melihat dan menguji driver dari Administrator Sumber Data ODBC.

PolyBase scale-out groups

Dalam contoh di atas, nama driver dilingkari dengan warna merah. Gunakan nama ini saat Anda membuat sumber data eksternal.

Penting

Untuk meningkatkan performa kueri, aktifkan pengumpulan koneksi. Ini dapat dicapai dari Administrator Sumber Data ODBC.

Membuat objek dependen di SQL Server

Untuk menggunakan sumber data ODBC, beberapa objek harus dibuat terlebih dahulu untuk menyelesaikan konfigurasi.

Perintah Transact-SQL berikut digunakan di bagian ini:

  1. Buat kredensial tercakup database untuk mengakses sumber ODBC.

    CREATE DATABASE SCOPED CREDENTIAL [<credential_name>] WITH IDENTITY = '<username>', Secret = '<password>';
    

    Misalnya, contoh berikut membuat kredensial bernama credential_name, dengan identitas username dan kata sandi yang kompleks.

    CREATE DATABASE SCOPED CREDENTIAL credential_name WITH IDENTITY = 'username', Secret = 'BycA4ZjrE#*2W%!';
    
  2. Buat sumber data eksternal dengan CREATE EXTERNAL DATA SOURCE.

    CREATE EXTERNAL DATA SOURCE [<external_data_source_name>]
    WITH ( LOCATION = 'odbc://<ODBC server address>[:<port>]',
    CONNECTION_OPTIONS = 'Driver={<Name of Installed Driver>};
    ServerNode = <name of server  address>:<Port>',
    -- PUSHDOWN = [ON] | OFF,
    CREDENTIAL = [<credential_name>] );
    

    Contoh berikut membuat sumber data eksternal:

    • Bernama external_data_source_name
    • Terletak di ODBC SERVERNAME dan port 4444
    • Menyambungkan dengan CData ODBC Driver For SAP 2015 - Ini adalah driver yang dibuat di bawah Instal driver ODBC
    • Pada ServerNodesap_server_node port 5555
    • Dikonfigurasi untuk pemrosesan yang didorong ke server (PUSHDOWN = ON)
    • credential_name Menggunakan kredensial
    CREATE EXTERNAL DATA SOURCE external_data_source_name
    WITH ( LOCATION = 'odbc://SERVERNAME:4444',
    CONNECTION_OPTIONS = 'Driver={CData ODBC Driver For SAP 2015};
    ServerNode = sap_server_node:5555',
    PUSHDOWN = ON,
    CREDENTIAL = credential_name );
    

Membuat tabel eksternal

Setelah membuat objek dependen, Anda dapat membuat tabel eksternal menggunakan T-SQL.

Perintah Transact-SQL berikut digunakan di bagian ini:

  1. Buat satu atau beberapa tabel eksternal.

    Buat tabel eksternal. Anda harus mereferensikan sumber data eksternal yang dibuat di atas menggunakan DATA_SOURCE argumen dan menentukan tabel sumber sebagai LOCATION. Anda tidak perlu mereferensikan semua kolom tetapi Anda harus memastikan bahwa jenisnya dipetakan dengan benar.

      CREATE EXTERNAL TABLE [<your_table_name>]
      (
      [<col1_name>]     DECIMAL(38) NOT NULL,
      [<col2_name>]     DECIMAL(38) NOT NULL,
      [<col3_name>]     CHAR COLLATE Latin1_General_BIN NOT NULL
      )
      WITH (
      LOCATION='<sap_table_name>',
      DATA_SOURCE= [<external_data_source_name>]
      )
      ;
    

    Catatan

    Perhatikan bahwa Anda dapat menggunakan kembali objek dependen untuk semua tabel eksternal menggunakan sumber data eksternal ini.

  2. Opsional: Buat statistik pada tabel eksternal.

    Untuk performa kueri yang optimal, sebaiknya buat statistik pada kolom tabel eksternal terutama yang digunakan untuk gabungan, filter, dan agregat.

    CREATE STATISTICS statistics_name ON contact (FirstName) WITH FULLSCAN; 
    

Langkah berikutnya

Untuk mempelajari selengkapnya tentang PolyBase, lihat Gambaran Umum SQL Server PolyBase.

Untuk tutorial selengkapnya tentang membuat sumber data eksternal dan tabel eksternal ke berbagai sumber data, lihat referensi PolyBase Transact-SQL.