> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-detect-table-modification.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Looker Studio, antes conocido como Google Data Studio, es una herramienta en línea para convertir datos en informes y dashboards personalizables e informativos.

# Looker Studio

export const PartnerBadge = () => {
  return <div className="PartnerBadge">
            <div className="PartnerBadgeIcon">
                <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                    <polyline points="12.5 9.5 10 12 6 11 2.5 8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="4.54 4.41 8 3.5 11.46 4.41" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M2.15,3.78 L0.55,6.95 A0.5,0.5 0,0,0 0.77,7.62 L2.5,8.5 L4.54,4.41 L2.82,3.55 A0.5,0.5 0,0,0 2.15,3.78 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M13.5,8.5 L15.23,7.62 A0.5,0.5 0,0,0 15.45,6.95 L13.85,3.78 A0.5,0.5 0,0,0 13.18,3.55 L11.46,4.41 Z" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <path d="M11.5,4.5 L9,4.5 L6.15,7.27 A0.5,0.5 0,0,0 6.24,8.05 C7.33,8.74 8.81,8.72 10,7.5 L12.5,9.5 L13.5,8.5" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                    <polyline points="7.75 13.5 5.15 12.85 3.5 11.67" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" strokeWidth="1" />
                </svg>
            </div>
            Integración de partner
        </div>;
};

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

Looker Studio puede conectarse a ClickHouse mediante la interfaz MySQL y la fuente de datos MySQL oficial de Google.

<div id="clickhouse-cloud-setup">
  ## Configuración de ClickHouse Cloud
</div>

<Steps>
  <Step>
    #### Selecciona `Connect your app`

    Después de crear tu servicio de ClickHouse Cloud, en la pantalla `Connect your app`, selecciona MySQL en el menú desplegable.

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql1.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=2f44cca529d76149c5dd4573069af855" alt="Pantalla de credenciales de ClickHouse Cloud que muestra el menú desplegable para seleccionar la interfaz MySQL" border width="3840" height="2138" data-path="images/_snippets/mysql1.webp" />
  </Step>

  <Step>
    #### Habilita la interfaz MySQL

    Activa el interruptor para habilitar la interfaz MySQL para este servicio específico.
    Esto expondrá el puerto `3306` para este servicio y te mostrará una pantalla de conexión de MySQL que incluye tu nombre de usuario único de MySQL.

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql2.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=e1caa8364c2bcf544492c0e8377e6dc7" alt="Interruptor para habilitar la interfaz MySQL de ClickHouse Cloud y detalles de la conexión" border width="3840" height="2136" data-path="images/_snippets/mysql2.webp" />

    Como alternativa, para habilitar la interfaz MySQL para un servicio existente:
  </Step>

  <Step>
    #### Selecciona `Connect`

    Asegúrate de que tu servicio esté en estado `Running` y luego haz clic en el servicio para el que deseas habilitar la interfaz MySQL.
    Selecciona "Connect" en el menú de la izquierda:

    <Image size="lg" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql3.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=b92958c170c39fbd884313f1f7a6c3d0" alt="Pantalla de conexión del servicio de ClickHouse Cloud con la opción Connect resaltada" border width="3840" height="2160" data-path="images/_snippets/mysql3.webp" />
  </Step>

  <Step>
    #### Elige `MySQL`

    Selecciona `MySQL` en el menú desplegable `Connect With`.

    <Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql4.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=152f4db09e451c302dc76d563ac414c7" alt="Pantalla de conexión de ClickHouse Cloud que muestra la selección de la opción MySQL" border width="1326" height="1046" data-path="images/_snippets/mysql4.webp" />
  </Step>

  <Step>
    #### Habilita la interfaz MySQL

    Activa el interruptor para habilitar la interfaz MySQL para este servicio específico.
    Esto expondrá el puerto `3306` para este servicio y te mostrará tu pantalla de conexión de MySQL, que incluye tu nombre de usuario único de MySQL.
  </Step>
</Steps>

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/0yJtAU6cqYAQlCWC/images/_snippets/mysql5.webp?fit=max&auto=format&n=0yJtAU6cqYAQlCWC&q=85&s=4d98d6d46dd965ef5aab8b5d388c11c6" alt="Pantalla de conexión de ClickHouse Cloud con la interfaz MySQL habilitada que muestra los detalles de la conexión" border width="1320" height="1520" data-path="images/_snippets/mysql5.webp" />

<div id="creating-multiple-mysql-users-in-clickhouse-cloud">
  ## Crear un usuario MySQL de solo lectura en ClickHouse Cloud
</div>

ClickHouse Cloud crea automáticamente un usuario `mysql4<subdomain>` que comparte la misma contraseña que el usuario predeterminado.
La parte `<subdomain>` corresponde a la primera parte del hostname de tu servicio de ClickHouse Cloud.

Este formato de nombre de usuario es necesario para mantener la compatibilidad con herramientas que establecen conexiones seguras, pero no incluyen datos de [SNI (Server Name Indication)](https://www.cloudflare.com/learning/ssl/what-is-sni) en el handshake de TLS.
Sin información de SNI, el sistema no puede realizar correctamente el enrutamiento interno, por lo que la pista del subdominio integrada en el nombre de usuario proporciona la información de enrutamiento necesaria.
El cliente de consola de MySQL es un ejemplo de herramienta que lo requiere.

<Tip>
  Como práctica recomendada, crea un nuevo usuario MySQL de solo lectura.
</Tip>

<Note>
  Para un hostname de ClickHouse Cloud como `foobar.us-east1.aws.clickhouse.cloud`, la parte `<subdomain>` equivale a `foobar`, y un nombre de usuario MySQL personalizado podría ser `mysql4foobar_team1`.
</Note>

<Steps>
  <Step>
    #### Crear un perfil de configuración de solo lectura

    Crea un [perfil de configuración](/es/reference/statements/create/settings-profile) para aplicárselo a tu usuario de solo lectura,
    estableciendo la configuración `readonly` en `1`:

    ```sql theme={null}
    CREATE SETTINGS PROFILE readonly_profile SETTINGS readonly = 1
    ```
  </Step>

  <Step>
    #### Crear un nuevo usuario MySQL de solo lectura

    [Crea un usuario](/es/reference/statements/create/user) con un nombre que siga este formato:

    ```sql theme={null}
    mysql4<subdomain>_<username>
    ```

    Aplica `readonly_profile` al nuevo usuario y asegúrate de que la contraseña esté en formato double SHA1. Por ejemplo:

    ```sql theme={null}
    CREATE USER mysql4foobar_readonly
    IDENTIFIED WITH double_sha1_password BY 'YourPassword42$'
    SETTINGS PROFILE 'readonly_profile';
    ```
  </Step>

  <Step>
    #### Conceder al nuevo usuario permisos para acceder a las tablas deseadas

    [Concede](/es/reference/statements/grant) al nuevo usuario los permisos necesarios para interactuar con las tablas o bases de datos que quieras.
    Por ejemplo, si quieres conceder acceso solo a `system.query_log`:

    ```sql theme={null}
    GRANT SELECT ON system.query_log TO mysql4foobar_readonly;
    ```

    <Note>
      Para el usuario de solo lectura, asegúrate de conceder únicamente permisos `SELECT` sobre las tablas a las que quieras acceder.
    </Note>

    El usuario recién creado puede usarse para conectarse a tu servicio de ClickHouse Cloud mediante la interfaz MySQL.
  </Step>
</Steps>

<div id="troubleshooting-multiple-mysql-users-in-clickhouse-cloud">
  ### Solución de problemas con varios usuarios MySQL en ClickHouse Cloud
</div>

Si ha creado un nuevo usuario MySQL y ve el siguiente error al conectarse mediante el cliente MySQL CLI:

```
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading authorization packet', system error: 54
```

En este caso, asegúrate de que el nombre de usuario siga el formato `mysql4<subdomain>_<username>`, tal como se describe ([más arriba](#creating-multiple-mysql-users-in-clickhouse-cloud)).

<div id="on-premise-clickhouse-server-setup">
  ## Configuración del servidor ClickHouse on-premise
</div>

Consulte [la documentación oficial](/es/concepts/features/interfaces/mysql)
para saber cómo configurar un servidor ClickHouse con la interfaz MySQL habilitada.

Además de añadir una entrada al `config.xml` del servidor

```xml theme={null}
<clickhouse>
    <mysql_port>9004</mysql_port>
</clickhouse>
```

también es *obligatorio* usar
[cifrado de contraseña con Double SHA1](/es/concepts/features/configuration/settings/settings-users#user-namepassword)
para el usuario que utilizará la interfaz MySQL.

Generar desde la shell una contraseña aleatoria cifrada con Double SHA1:

```shell theme={null}
PASSWORD=$(base64 < /dev/urandom | head -c16); echo "$PASSWORD"; echo -n "$PASSWORD" | sha1sum | tr -d '-' | xxd -r -p | sha1sum | tr -d '-'
```

La salida debería verse así:

```
LZOQYnqQN4L/T6L0
fbc958cc745a82188a51f30de69eebfc67c40ee4
```

La primera línea es la contraseña generada, y la segunda es el hash que podemos usar para configurar ClickHouse.

Aquí tienes un ejemplo de configuración para `mysql_user` que utiliza el hash generado:

`/etc/clickhouse-server/users.d/mysql_user.xml`

```xml theme={null}
<users>
    <mysql_user>
        <password_double_sha1_hex>fbc958cc745a82188a51f30de69eebfc67c40ee4</password_double_sha1_hex>
        <networks>
            <ip>::/0</ip>
        </networks>
        <profile>default</profile>
        <quota>default</quota>
    </mysql_user>
</users>
```

Reemplace la entrada `password_double_sha1_hex` por su propio hash Double SHA1 generado.

Además, se recomienda usar `use_mysql_types_in_show_columns`
para mostrar los tipos nativos de MySQL en lugar de los de ClickHouse en los resultados de la consulta `SHOW [FULL] COLUMNS`,
lo que permite a las herramientas de BI inspeccionar correctamente el esquema de la base de datos al usar conectores de MySQL.

Por ejemplo:

`/etc/clickhouse-server/users.d/mysql_user.xml`

```xml theme={null}
<profiles>
    <default>
        <use_mysql_types_in_show_columns>1</use_mysql_types_in_show_columns>
    </default>
</profiles>
```

o asígnalo a un perfil distinto en lugar del perfil predeterminado.

Si tienes disponible el binario `mysql`, puedes probar la conexión desde la línea de comandos.
Usando el nombre de usuario de ejemplo (`mysql_user`) y la contraseña (`LZOQYnqQN4L/T6L0`) mencionados arriba, el comando sería:

```bash theme={null}
mysql --protocol tcp -h localhost -u mysql_user -P 9004 --password=LZOQYnqQN4L/T6L0
```

```
mysql> show databases;
+--------------------+
| name               |
+--------------------+
| INFORMATION_SCHEMA |
| default            |
| information_schema |
| system             |
+--------------------+
4 rows in set (0.00 sec)
Read 4 rows, 603.00 B in 0.00156 sec., 2564 rows/sec., 377.48 KiB/sec.
```

Por último, configure el servidor de ClickHouse para que escuche en la(s) dirección(es) IP deseada(s). Por ejemplo, en `config.xml`, descomente lo siguiente para que escuche en todas las direcciones:

```bash theme={null}
<listen_host>::</listen_host> 
```

<div id="connecting-looker-studio-to-clickhouse">
  ## Conectar Looker Studio con ClickHouse
</div>

Primero, inicia sesión en [https://lookerstudio.google.com](https://lookerstudio.google.com) con tu cuenta de Google y crea una nueva fuente de datos:

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/L7_COrR7NltKl_Va/images/integrations/data-visualization/looker_studio_01.webp?fit=max&auto=format&n=L7_COrR7NltKl_Va&q=85&s=80cf0cff652253736b63b582a783aabe" alt="Creación de una nueva fuente de datos en la interfaz de Looker Studio" border width="1229" height="683" data-path="images/integrations/data-visualization/looker_studio_01.webp" />

<br />

Busca el conector oficial de MySQL proporcionado por Google (llamado simplemente **MySQL**):

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/L7_COrR7NltKl_Va/images/integrations/data-visualization/looker_studio_02.webp?fit=max&auto=format&n=L7_COrR7NltKl_Va&q=85&s=324adb10bde43672840388448cec7b69" alt="Búsqueda del conector MySQL en la lista de conectores de Looker Studio" border width="1923" height="709" data-path="images/integrations/data-visualization/looker_studio_02.webp" />

<br />

Especifica los detalles de conexión. Ten en cuenta que el puerto de la interfaz MySQL es 9004 de forma predeterminada
y puede variar según la configuración del servidor.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/L7_COrR7NltKl_Va/images/integrations/data-visualization/looker_studio_03.webp?fit=max&auto=format&n=L7_COrR7NltKl_Va&q=85&s=268c6061a4d8dcb6466c7fbc81dedcdb" alt="Especificación de los detalles de conexión MySQL de ClickHouse en Looker Studio" border width="999" height="1329" data-path="images/integrations/data-visualization/looker_studio_03.webp" />

<br />

Ahora tienes dos opciones para obtener los datos de ClickHouse. La primera es usar la función Table Browser:

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/L7_COrR7NltKl_Va/images/integrations/data-visualization/looker_studio_04.webp?fit=max&auto=format&n=L7_COrR7NltKl_Va&q=85&s=aca4b0c3b60316d69950b1d5903f8026" alt="Uso de Table Browser para seleccionar tablas de ClickHouse en Looker Studio" border width="1299" height="1333" data-path="images/integrations/data-visualization/looker_studio_04.webp" />

<br />

Como alternativa, puedes especificar una consulta personalizada para obtener los datos:

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/looker_studio_05.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=8c40487e66ed227e3f45c1a6b6762f19" alt="Uso de una consulta SQL personalizada para obtener datos de ClickHouse en Looker Studio" border width="1518" height="1333" data-path="images/integrations/data-visualization/looker_studio_05.webp" />

<br />

Por último, deberías poder ver la estructura de la tabla detectada y ajustar los tipos de datos si es necesario.

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/looker_studio_06.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=ac061367d140bdfebb34dcb5415fe335" alt="Visualización de la estructura de la tabla de ClickHouse detectada en Looker Studio" border width="1774" height="1114" data-path="images/integrations/data-visualization/looker_studio_06.webp" />

<br />

Ya puedes seguir explorando tus datos o crear un informe nuevo.

<div id="using-looker-studio-with-clickhouse-cloud">
  ## Uso de Looker Studio con ClickHouse Cloud
</div>

Si usas ClickHouse Cloud, primero debes habilitar la interfaz MySQL. Puedes hacerlo en el cuadro de diálogo de conexión, en la pestaña "MySQL".

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/looker_studio_enable_mysql.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=21c020ea0d4a23948c4f6086692db6d2" alt="Habilitación de la interfaz MySQL en la configuración de ClickHouse Cloud" border width="1748" height="684" data-path="images/integrations/data-visualization/looker_studio_enable_mysql.webp" />

<br />

En la UI de Looker Studio, selecciona la opción "Enable SSL". El certificado SSL de ClickHouse Cloud está firmado por [Let's Encrypt](https://letsencrypt.org/certificates/). Puedes descargar este certificado raíz [aquí](https://letsencrypt.org/certs/isrgrootx1.pem).

<Image size="md" img="https://mintcdn.com/private-7c7dfe99-detect-table-modification/svLCKm9RWi4jibqG/images/integrations/data-visualization/looker_studio_mysql_cloud.webp?fit=max&auto=format&n=svLCKm9RWi4jibqG&q=85&s=643e764cc7417b8319d59b8941f71c57" alt="Configuración de la conexión de Looker Studio con los ajustes SSL de ClickHouse Cloud" border width="858" height="530" data-path="images/integrations/data-visualization/looker_studio_mysql_cloud.webp" />

<br />

El resto de los pasos son los mismos que se indican en la sección anterior.
