Características y limitaciones de PolyBase
Se aplica a: SQL Server 2016 (13.x) y posteriores
Azure SQL Database
Azure Synapse Analytics
Analytics Platform System (PDW)
Este artículo es un resumen de las características de PolyBase disponibles para los servicios y productos de SQL Server.
Resumen de características para las versiones de productos
En esta tabla se indican las características fundamentales de PolyBase y los productos en los que están disponibles.
Característica | SQL Server (a partir de 2016) | Azure SQL Database | Azure Synapse Analytics | Parallel Data Warehouse |
---|---|---|---|---|
Consulta de datos de Hadoop con Transact-SQL | Sí | No | No | Sí |
Importar datos desde Hadoop | Sí | No | No | Sí |
Exportar datos a Hadoop | Sí | No | No | Sí |
Consultar, importar desde y exportar a Azure HDInsight | No | No | No | No |
Aplicar cálculos de consulta a Hadoop | Sí | No | No | Sí |
Importar datos desde Azure Blob Storage | Sí | Sí 1 | Sí | Sí |
Exportar datos a Azure Blob Storage | Sí | No | Sí | Sí |
Importar datos de Azure Data Lake Store | No | No | Sí | No |
Exportar datos a Azure Data Lake Store | No | No | Sí | No |
Ejecutar consultas de PolyBase desde las herramientas de BI de Microsoft | Sí | No | Sí | Sí |
1 Introducido en SQL Server 2017 (14.x), consulta Ejemplos de acceso masivo a datos en Azure Blob Storage.
Restricciones conocidas
PolyBase presenta las siguientes limitaciones:
En las versiones anteriores a SQL Server 2019 (15.x), el tamaño máximo posible de fila, que incluye la longitud total de las columnas de longitud variable, no puede superar los 32 KB en SQL Server ni 1 MB en Azure Synapse Analytics. En SQL Server 2019 (15.x) y versiones posteriores, no existe esta limitación. El límite sigue siendo de 1 MB para los orígenes de datos de Hadoop, pero, para el resto de orígenes de datos, el límite máximo es el de SQL Server.
Cuando se exportan los datos a un formato de archivo ORC desde SQL Server o Azure Synapse Analytics, las columnas de texto intensivo pueden limitarse. Se pueden limitar a tan solo 50 columnas debido a los mensajes de error de memoria insuficiente de Java. Para solucionar este problema, exporte solo un subconjunto de las columnas.
PolyBase no se puede conectar a ninguna instancia de Hadoop si Knox está habilitado.
Si usa tablas de Hive con "transactional = true", PolyBase no puede acceder a los datos del directorio de tablas de Hive.
Los servicios de PolyBase requieren que el servicio SQL Server tenga habilitado el protocolo de red TCP/IP para funcionar correctamente. Además, si el valor de configuración protocolo TCP/IP Escucha todo está establecido en No, se requieren las siguientes configuraciones de TCP/IP:
- Una entrada para el puerto correcto del agente de escucha en puertos dinámicos TCP o puertos TCP en IPAll. Esto es necesario por la forma en que los servicios de PolyBase resuelven el puerto del cliente de escucha del motor de SQL Server.
- Habilite las direcciones IP deseadas en > IP de las propiedades TCP/IP; de lo contrario, el motor de SQL Server no aceptará ninguna conexión TCP/IP y los servicios polyBase seguirán sin conectarse al motor de SQL Server.
PolyBase en SQL Server en Linux no funcionará si IPv6 está deshabilitado en el kernel. Para obtener más información, consulta SQL Server en Linux: errores conocidos.
Los servicios de PolyBase requieren que el protocolo de Memoria compartida esté habilitado para funcionar correctamente.
Si tiene una instancia predeterminada de SQL Server configurada para escuchar en un puerto TCP distinto de 1433, no puedes usarla como nodo principal en un grupo de escalado horizontal de PolyBase. Al ejecutar
sp_polybase_join_group
, si pasas «MSSQLSERVER» como nombre de instancia, SQL Server asumirá que el puerto 1433 es el puerto del cliente de escucha, por lo que el servicio de movimiento de datos no puede conectarse al nodo principal al iniciarse.Los sinónimos de Oracle no se admiten para su uso con PolyBase.
Las intercalaciones UTF-8 no se admiten para orígenes de datos externos de Hadoop.
Ya no se admite Hadoop en SQL Server 2022 (16.x) y versiones posteriores.
Los grupos de escalabilidad horizontal de PolyBase no se admiten con grupos de disponibilidad AlwaysOn.
La longitud del nombre del servidor está restringida por una limitación de longitud de nombre NetBIOS de 15 caracteres. Si cambia el nombre del servidor después de crearlo, de manera que tenga 16 caracteres o más, el servicio de movimiento de datos de PolyBase no se iniciará.