Preguntas frecuentes sobre PolyBase

Se aplica a: SQL Server 2016 (13.x) y versiones posteriores

PolyBase frente a servidores vinculados

En la tabla siguiente se resaltan las diferencias entre las características de servidor vinculado y PolyBase:

PolyBase Servidores vinculados
Objeto con ámbito de base de datos. Objeto con ámbito de instancia.
Usa controladores ODBC. Utiliza proveedores OLE DB
Admite operaciones de solo lectura para todos los orígenes de datos y admite la escritura en algunos orígenes de datos externos Admite tanto operaciones de lectura como de escritura.
Las consultas al origen de datos remotos desde una sola conexión se pueden escalar horizontalmente Las consultas a una fuente de datos remota desde una sola conexión no pueden escalarse
Se admite la aplicación de predicados. Se admite la aplicación de predicados.
No se necesita ninguna configuración independiente para el grupo de disponibilidad Se necesita una configuración independiente para cada instancia del grupo de disponibilidad
Solo autenticación básica Autenticación básica e integrada
Adecuado para procesar un gran número de filas de consultas de análisis Adecuado para consultas OLTP que devuelven una o algunas filas
Las consultas que usan tablas externas no pueden participar en transacciones distribuidas Las consultas distribuidas pueden participar en transacciones distribuidas

Novedades de PolyBase en SQL Server 2022

SQL Server 2022 (16.x) soporta archivos CSV, Parquet y Delta almacenados en Azure Storage Account v2, Azure Data Lake Storage Gen2 o cualquier almacenamiento de objetos compatible con S3 utilizando la API REST de S3, ya sea en las instalaciones o en la nube.

SQL Server 2022 (16.x) admite CREATE EXTERNAL TABLE AS SELECT (CETAS), junto con comandos como OPENROWSET, CREATE EXTERNAL TABLE (CET) y las mejoras de T-SQL.

SQL Server 2022 (16.x) no soporta fuentes de datos externas Hadoop.

SQL Server 2022 (16.x) La actualización acumulativa 2 introduce soporte para archivos Oracle TNS. Para obtener más información y ejemplos, vea CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.

Para más información, consulta Data Virtualization with PolyBase for SQL Server 2022 y revisa las mejoras de SQL Server 2022 en PolyBase.

Novedades de PolyBase en SQL Server 2019

PolyBase en SQL Server 2019 (15.x) puede leer datos de múltiples fuentes. Puedes almacenar los datos de estas fuentes externas como tablas externas en tu instancia de SQL Server. PolyBase además admite el cálculo de aplicación en estos orígenes de datos externos, excepto los tipos de ODBC genéricos.

Fuentes de datos compatibles

  • SQL Server
  • Oracle
  • Teradata
  • MongoDB
  • Tipos genéricos de ODBC compatibles

SQL Server 2019 (15.x) La actualización acumulativa 19 introduce soporte para archivos Oracle TNS. Para obtener más información y ejemplos, vea CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS.

Note

PolyBase puede conectarse a fuentes de datos externas utilizando controladores ODBC de terceros. PolyBase no incluye estos controladores, y puede que no funcionen como se espera. Para más información, consulte Configuración de PolyBase para acceder a datos externos con tipos genéricos de ODBC.

¿Qué CONNECTION_OPTIONS puedo especificar para la conexión a orígenes de datos de terceros?

Revisa CREATE EXTERNAL DATA SOURCE CONNECTION_OPTIONS las opciones de conexión de proveedores de datos compatibles para SQL Server, Oracle, Teradata, la API MongoDB para Cosmos DB y proveedores de datos ODBC genéricos.

¿Cómo puedo ver el plan de ejecución de consultas remotas del cálculo de delegación de PolyBase?

Puedes ver el plan de ejecución de consultas remotas usando diferentes métodos según la versión de SQL Server. Para más información, consulta PolyBase Troubleshooting - Para ver el plan de consulta de PolyBase.

¿Cómo puedo saber si se está produciendo un cálculo de delegación de PolyBase?

Para obtener más información, vea Cómo saber si se ha producido un empuje externo.

¿Polybase se admite en la base de datos de Azure SQL?

No, pero puedes consultar datos de archivos en Azure Blob Storage mediante la función OPENROWSET, o usar CREATE EXTERNAL TABLE para leer de un grupo de SQL sin servidor en Synapse Analytics. Para más información, consulte Azure SQL puede leer archivos de Azure Data Lake Storage mediante tablas externas de Synapse SQL.

¿PolyBase se admite en Azure SQL Managed Instance?

Azure SQL Managed Instance tiene sus propias funcionalidades de virtualización de datos para Azure Data Lake Storage (ADLS) y Azure Blob Storage como orígenes de datos. Para obtener más información, vea Virtualización de datos con Azure SQL Managed Instance.

¿Qué puertos debo permitir a través del firewall para PolyBase?

PolyBase en sí no requiere abrir puertos adicionales, excepto cuando se usa un grupo de escalado horizontal de PolyBase. Sin un grupo escalable, el servicio PolyBase no necesita reglas de firewall.

En Windows Servers, PolyBase utiliza los puertos que utiliza la instancia de SQL Server en la sección IPAll de la configuración TCP/IP en Administrador de configuración de SQL Server. Para más información, consulte Propiedades de TCP/IP (pestaña Direcciones IP). En servidores Linux, PolyBase usa esta network.tcpport configuración. Para más información, consulte Puerto TCP.

Para los grupos de escalado horizontal de PolyBase en varios servidores Windows, consulte la información sobre puertos que aparece en la pregunta siguiente.

Sin embargo, debes permitir otros puertos para comunicarse con las distintas fuentes de datos externas que utiliza PolyBase. Consulte la documentación específica sobre los orígenes de datos, la configuración de los recursos de Azure o la configuración de ODBC. Por ejemplo:

Plataforma de origen Reference
Microsoft SQL Server Puertos utilizados por SQL Server
Hortonworks HDP Administración de HDFS
Cloudera CDH Puertos utilizados por componentes de CDH

¿Qué puertos se utilizan para el grupo de escalado horizontal de PolyBase?

Por defecto, el servicio de movimiento de datos de PolyBase se conecta al nodo principal de un grupo de escalado horizontal a través de un intervalo de puertos TCP del 16450 al 16460 (normalmente del 16450 al 1645), además del puerto 17001. PolyBase usa estos puertos solo cuando configuras un grupo escalable, así que permítelos pasar por los cortafuegos del servidor. SQL Server Setup crea automáticamente una regla local de cortafuegos que permite estos puertos cuando instalas la función. Para obtener más información, consulte Configuración de los grupos de escalado horizontal de PolyBase en Windows.

Note

Los grupos de escalabilidad de SQL Server PolyBase fueron eliminados en SQL Server 2022 (16.x).