Compartir a través de


Conectarse a Azure Databricks desde Python o R

En este artículo, aprenderá a usar el controlador ODBC de Databricks para conectar Azure Databricks con Python o el lenguaje R. Una vez establecida la conexión, puede acceder a los datos de Azure Databricks desde los clientes Python o R. También puede usar los clientes para analizar con más detalle los datos.

Prerrequisitos

  • Debe tener un área de trabajo de Azure Databricks, un clúster de Spark y datos de ejemplo asociados al clúster. Si aún no tiene estos requisitos previos, complete el inicio rápido en Introducción.

  • Descargue el controlador ODBC de Databricks desde la página de descarga de controladores de Databricks. Instale la versión de 64 bits del controlador.

  • Configure un token de acceso personal en Databricks. Para obtener instrucciones, consulte Administración de tokens.

Configuración de un DSN

Un nombre de origen de datos (DSN) contiene la información sobre un origen de datos específico. Un controlador ODBC necesita este DSN para conectarse a un origen de datos. En esta sección, configurará un DSN que se puede usar con el controlador ODBC de Databricks para conectarse a Azure Databricks desde clientes como Python o R.

  1. Desde el área de trabajo de Azure Databricks, vaya al clúster de Databricks.

    Open Databricks cluster

  2. En la pestaña Configuración, haga clic en la pestaña JDBC/ODBC y copie los valores de Nombre de host del servidor y Ruta de acceso HTTP. Necesitará estos valores para completar los pasos de este artículo.

    Get Databricks configuration

  3. En el equipo, inicie la aplicación Orígenes de datos ODBC de 64 bits.

    Launch ODBC Data Sources app

  4. En la pestaña DSN de usuario, haga clic en Agregar. En el cuadro de diálogo Crear un nuevo origen de datos, seleccione Simba Spark ODBC Driver (Controlador ODBC de Simba Spark) y haga clic en Finalizar.

    Add ODBC data source

  5. En el cuadro de diálogo Simba Spark ODBC Driver (Controlador ODBC de Simba Spark), proporcione los siguientes valores:

    Configure DSN

    La tabla siguiente proporciona información sobre los valores que debe proporcionar en el cuadro de diálogo.

    Campo Valor
    Data Source Name Proporcione un nombre para el origen de datos.
    Host(s) Proporcione el valor que copió del área de trabajo de Databricks en Nombre de host del servidor.
    Puerto Escriba 443.
    Authentication>Mechanism Seleccione User name and password (Nombre de usuario y contraseña).
    Nombre de usuario Escriba token.
    Contraseña Escriba el valor de token que copió del área de trabajo de Databricks.

    Realice los siguientes pasos adicionales en el cuadro de diálogo de configuración de DSN.

    • Haga clic en Opciones de HTTP. En el cuadro de diálogo que se abre, pegue el valor de Ruta de acceso HTTP que copió del área de trabajo de Databricks. Haga clic en Aceptar.
    • Haga clic en Opciones SSL. En el cuadro de diálogo que se abre, seleccione la casilla Habilitar SSL. Haga clic en Aceptar.
    • Haga clic en Probar para probar la conexión a Azure Databricks. Haga clic en Aceptar para guardar la configuración.
    • En el cuadro de diálogo Administrador de orígenes de datos ODBC, haga clic en Aceptar.

Ahora ya tiene el DSN configurado. En las secciones siguientes, use este DSN para conectarse a Azure Databricks Python o R.

Conexión desde R

Nota:

En esta sección se proporciona información sobre cómo integrar a un cliente de R Studio que se ejecuta en el escritorio con Azure Databricks. Para obtener instrucciones sobre cómo usar R Studio en el propio clúster de Azure Databricks, consulte R Studio on Azure Databricks (R Studio en Azure Databricks).

En esta sección va a usar un IDE de lenguaje R para hacer referencia a datos disponibles en Azure Databricks. Antes de empezar, debe tener lo siguiente instalado en el equipo.

  • Un IDE para el lenguaje R. En este artículo se usa RStudio for Desktop. Puede instalarlo desde las descargas de R Studio.
  • Si usa RStudio for Desktop como IDE, instale también Microsoft R Client desde https://aka.ms/rclient/.

Abra RStudio y realice los pasos siguientes:

  • Haga referencia al paquete RODBC. Esto le permitirá conectarse a Azure Databricks mediante el DSN que creó anteriormente.
  • Establezca una conexión mediante el DSN.
  • Ejecute una consulta SQL en los datos de Azure Databricks. En el siguiente fragmento de código, radio_sample_data es una tabla que ya existe en Azure Databricks.
  • Realice algunas operaciones en la consulta para comprobar la salida.

El fragmento de código siguiente realiza estas tareas:

# reference the 'RODBC' package
require(RODBC)

# establish a connection using the DSN you created earlier
conn <- odbcConnect("<ENTER DSN NAME HERE>")

# run a SQL query using the connection you created
res <- sqlQuery(conn, "SELECT * FROM radio_sample_data")

# print out the column names in the query output
names(res)

# print out the number of rows in the query output
nrow (res)

Conexión desde Python

En esta sección va a usar un IDE de Python (como IDLE) para hacer referencia a datos disponibles en Azure Databricks. Antes de empezar, debe cumplir los siguientes requisitos previos:

  • Instale Python desde aquí. La instalación de Python desde este vínculo también instala IDLE.

  • Desde un símbolo del sistema del equipo, instale el paquete pyodbc. Ejecute el siguiente comando:

    pip install pyodbc
    

Abra IDLE y realice los pasos siguientes:

  • Importe el paquete pyodbc. Esto le permitirá conectarse a Azure Databricks mediante el DSN que creó anteriormente.
  • Establezca una conexión mediante el DSN que creó anteriormente.
  • Ejecute una consulta SQL mediante la conexión que creó. En el siguiente fragmento de código, radio_sample_data es una tabla que ya existe en Azure Databricks.
  • Realice operaciones en la consulta para comprobar la salida.

El fragmento de código siguiente realiza estas tareas:

# import the `pyodbc` package:
import pyodbc

# establish a connection using the DSN you created earlier
conn = pyodbc.connect("DSN=<ENTER DSN NAME HERE>", autocommit=True)

# run a SQL query using the connection you created
cursor = conn.cursor()
cursor.execute("SELECT * FROM radio_sample_data")

# print the rows retrieved by the query.
for row in cursor.fetchall():
    print(row)

Pasos siguientes