Bagikan melalui


Fitur dan batasan PolyBase

Berlaku untuk: SQL Server 2016 (13.x) dan versi yang lebih baru Azure SQL DatabaseAzure Synapse Analytics Analytics Platform System (PDW)

Artikel ini adalah ringkasan fitur PolyBase yang tersedia untuk produk dan layanan SQL Server.

Ringkasan fitur untuk rilis produk

Tabel ini mencantumkan fitur utama untuk PolyBase dan produk tempat mereka tersedia.

Fitur SQL Server (Dimulai dengan 2016) Azure SQL Database Azure Synapse Analytics Gudang Data Paralel
Mengkueri data Hadoop dengan Transact-SQL Ya No No Ya
Mengimpor data dari Hadoop Ya No No Ya
Mengekspor data ke Hadoop Ya No No Ya
Kueri, impor dari, ekspor ke Azure HDInsight No No No No
Mendorong turun komputasi kueri ke Hadoop Ya No No Ya
Mengimpor data dari penyimpanan Azure Blob Ya Ya 1 Ya Ya
Mengekspor data ke penyimpanan Azure Blob Ya No Ya Ya
Mengimpor data dari Azure Data Lake Store No No Ya No
Mengekspor data ke Azure Data Lake Store No No Ya No
Menjalankan kueri PolyBase dari alat Microsoft BI Ya No Ya Ya

1 Diperkenalkan di SQL Server 2017 (14.x), lihat Contoh akses massal ke data di Azure Blob Storage.

Pembatasan yang diketahui

PolyBase memiliki batasan berikut:

  • Sebelum SQL Server 2019 (15.x), ukuran baris maksimum yang mungkin, yang mencakup panjang lengkap kolom panjang variabel, tidak boleh melebihi 32 KB di SQL Server atau 1 MB di Azure Synapse Analytics. Di SQL Server 2019 (15.x) dan versi yang lebih baru, batasan ini diangkat. Batasnya tetap 1 MB untuk sumber data Hadoop, tetapi hanya dibatasi oleh batas SQL Server maksimum untuk sumber data lainnya.

  • Saat data diekspor ke dalam format file ORC dari SQL Server atau Azure Synapse Analytics, kolom teks-berat mungkin terbatas. Kolom tersebut dapat dibatasi hingga hanya 50 kolom karena pesan kesalahan kehabisan memori Java. Untuk mengatasi masalah ini, ekspor hanya subset kolom.

  • PolyBase tidak dapat terhubung ke instans Hadoop apa pun jika Knox diaktifkan.

  • Jika Anda menggunakan tabel Apache Hive dengan transactional = true, PolyBase tidak dapat mengakses data di direktori tabel Apache Hive.

  • Layanan PolyBase mengharuskan layanan SQL Server agar protokol jaringan TCP/IP diaktifkan agar berfungsi dengan benar. Selain itu, jika pengaturan konfigurasi Protokol TCP/IP DengarKan Semua diatur ke Tidak, konfigurasi TCP/IP berikut diperlukan:

    • Entri untuk port pendengar yang benar di Port Dinamis TCP atau Port TCP di bawah IPAll. Ini diperlukan karena cara layanan PolyBase menyelesaikan port pendengar SQL Server Engine.
    • Aktifkan alamat IP yang diinginkan di > IP Properti TCP/IP; jika tidak, Mesin SQL Server tidak akan menerima koneksi TCP/IP apa pun dan layanan PolyBase masih akan gagal tersambung ke Mesin SQL Server.
  • PolyBase di SQL Server di Linux tidak berfungsi jika IPv6 dinonaktifkan di kernel. Untuk informasi selengkapnya, lihat SQL Server di Linux: Masalah yang diketahui.

  • Layanan PolyBase mengharuskan protokol Memori Bersama diaktifkan agar berfungsi dengan baik.

  • Jika Anda memiliki instans SQL Server default yang dikonfigurasi untuk mendengarkan di port TCP selain 1433, Anda tidak dapat menggunakannya sebagai simpul kepala dalam grup peluasan skala PolyBase. Saat Anda menjalankan sp_polybase_join_group, jika Anda meneruskan 'MSSQLSERVER' sebagai nama instans, SQL Server mengasumsikan port 1433 adalah port pendengar, sehingga layanan Pergerakan Data tidak dapat terhubung ke simpul kepala saat memulai.

  • Sinonim Oracle tidak didukung untuk penggunaan dengan PolyBase.

  • Kolatasi UTF-8 tidak didukung untuk sumber data eksternal Hadoop.

  • Hadoop tidak lagi didukung di SQL Server 2022 (16.x) dan versi yang lebih baru.

  • Grup peluasan skala PolyBase tidak didukung dengan grup ketersediaan AlwaysOn.

  • Panjang nama server terikat oleh batasan panjang nama NetBIOS 15 karakter. Jika Anda mengubah nama server setelah membuatnya menjadi 16 karakter atau lebih, layanan Pergerakan Data PolyBase tidak akan dimulai.