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

> Aprende a cargar datos de OpenCelliD en ClickHouse, conectar Apache Superset a ClickHouse y crear un dashboard basado en esos datos

# Datos geoespaciales con el conjunto de datos de torre de telefonía móvil

export const Image = ({img, alt, size}) => {
  return <Frame>
      <img src={img} alt={alt} />
    </Frame>;
};

<div id="goal">
  ## Objetivo
</div>

En esta guía aprenderás a:

* Cargar los datos de OpenCelliD en ClickHouse
* Conectar Apache Superset a ClickHouse
* Crear un dashboard con los datos disponibles en el conjunto de datos

Aquí tienes una vista previa del dashboard creado en esta guía:

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/ddNWBC5mE_w-syUp/images/getting-started/example-datasets/superset-cell-tower-dashboard.png?fit=max&auto=format&n=ddNWBC5mE_w-syUp&q=85&s=cedecc814c938e4bfc44e5b3a6fe5336" size="md" alt="Dashboard de torre de telefonía móvil por tipo de radio en el MCC 204" width="1103" height="1014" data-path="images/getting-started/example-datasets/superset-cell-tower-dashboard.png" />

<div id="get-the-dataset">
  ## Obtener el conjunto de datos
</div>

Este conjunto de datos proviene de [OpenCelliD](https://www.opencellid.org/), la base de datos abierta de torres de telefonía móvil más grande del mundo.

En 2021, contenía más de 40 millones de registros sobre torres de telefonía móvil (GSM, LTE, UMTS, etc.) de todo el mundo, con sus coordenadas geográficas y metadatos (código de país, red, etc.).

El proyecto OpenCelliD está licenciado bajo la licencia Creative Commons Attribution-ShareAlike 4.0 International, y redistribuimos una instantánea de este conjunto de datos bajo los términos de esa misma licencia. La versión más reciente del conjunto de datos puede descargarse después de iniciar sesión.

<Tabs>
  <Tab title="ClickHouse Cloud">
    ### Cargar los datos de ejemplo

    ClickHouse Cloud ofrece una forma sencilla de cargar este conjunto de datos desde S3. Inicie sesión en su organización de ClickHouse Cloud o cree una prueba gratuita en [ClickHouse.cloud](https://clickhouse.cloud).

    Seleccione su servicio y, a continuación, `Data sources` -> `Predefined sample data`.

    <Image size="md" img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/cloud-service-actions-menu.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=165f3b67d2e451048dad30496d424da8" alt="Menú Actions del servicio de ClickHouse Cloud que muestra las opciones Data sources y Predefined sample data" border width="3836" height="2138" data-path="images/_snippets/cloud-service-actions-menu.png" />

    Seleccione el conjunto de datos **Cell Towers** en la pestaña **Sample data** y haga clic en **Load data**:

    <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/cloud-load-data-sample.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=e13ac80632c4be4ae69711567e8c5d04" size="md" alt="Cargar el conjunto de datos de torres de telefonía móvil" width="3838" height="2146" data-path="images/_snippets/cloud-load-data-sample.png" />

    ### Examinar el esquema de la tabla cell\_towers

    ```sql theme={null}
    DESCRIBE TABLE cell_towers
    ```

    <Tip>
      **Consola SQL**

      Si necesitas una conexión de cliente SQL, tu servicio de ClickHouse Cloud tiene una consola SQL web asociada; despliega **Conectarse a la consola SQL** a continuación para ver más detalles.
    </Tip>

    <Accordion title="Conectarse a la consola SQL">
      En tu lista de servicios de ClickHouse Cloud, haz clic en un servicio.

      <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/cloud-connect-to-sql-console.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=e7cdd1d0958ee51da79cf614edbd61f5" alt="Conectarse a la consola SQL" size="lg" force border width="3840" height="2160" data-path="images/_snippets/cloud-connect-to-sql-console.png" />

      Esto te redirigirá a la consola SQL.

      <Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/createservice8.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=d3741b7850dc87230a00d70d2d438478" alt="Consola SQL" size="lg" force border width="3200" height="1800" data-path="images/_snippets/createservice8.png" />
    </Accordion>

    Esta es la salida de `DESCRIBE`. Más adelante en esta guía se describirán las opciones de tipos de campos.

    ```response theme={null}
    ┌─name──────────┬─type──────────────────────────────────────────────────────────────────┬
    │ radio         │ Enum8('' = 0, 'CDMA' = 1, 'GSM' = 2, 'LTE' = 3, 'NR' = 4, 'UMTS' = 5) │
    │ mcc           │ UInt16                                                                │
    │ net           │ UInt16                                                                │
    │ area          │ UInt16                                                                │
    │ cell          │ UInt64                                                                │
    │ unit          │ Int16                                                                 │
    │ lon           │ Float64                                                               │
    │ lat           │ Float64                                                               │
    │ range         │ UInt32                                                                │
    │ samples       │ UInt32                                                                │
    │ changeable    │ UInt8                                                                 │
    │ created       │ DateTime                                                              │
    │ updated       │ DateTime                                                              │
    │ averageSignal │ UInt8                                                                 │
    └───────────────┴───────────────────────────────────────────────────────────────────────┴
    ```
  </Tab>

  <Tab title="Autogestionado">
    1. Cree una tabla:

    ```sql theme={null}
    CREATE TABLE cell_towers
    (
        radio Enum8('' = 0, 'CDMA' = 1, 'GSM' = 2, 'LTE' = 3, 'NR' = 4, 'UMTS' = 5),
        mcc UInt16,
        net UInt16,
        area UInt16,
        cell UInt64,
        unit Int16,
        lon Float64,
        lat Float64,
        range UInt32,
        samples UInt32,
        changeable UInt8,
        created DateTime,
        updated DateTime,
        averageSignal UInt8
    )
    ENGINE = MergeTree ORDER BY (radio, mcc, net, created);
    ```

    2. Importe el conjunto de datos desde un bucket público de S3 (686 MB):

    ```sql theme={null}
    INSERT INTO cell_towers SELECT * FROM s3('https://datasets-documentation.s3.amazonaws.com/cell_towers/cell_towers.csv.xz', 'CSVWithNames')
    ```
  </Tab>
</Tabs>

<div id="examples">
  ## Ejecuta algunas consultas de ejemplo
</div>

1. Número de torres de telefonía móvil por tipo:

```sql theme={null}
SELECT radio, count() AS c FROM cell_towers GROUP BY radio ORDER BY c DESC
```

```response theme={null}
┌─radio─┬────────c─┐
│ UMTS  │ 20686487 │
│ LTE   │ 12101148 │
│ GSM   │  9931304 │
│ CDMA  │   556344 │
│ NR    │      867 │
└───────┴──────────┘

5 rows in set. Elapsed: 0.011 sec. Processed 43.28 million rows, 43.28 MB (3.83 billion rows/s., 3.83 GB/s.)
```

2. Torres de telefonía móvil por [código de país móvil (MCC)](https://en.wikipedia.org/wiki/Mobile_country_code):

```sql theme={null}
SELECT mcc, count() FROM cell_towers GROUP BY mcc ORDER BY count() DESC LIMIT 10
```

```response theme={null}
┌─mcc─┬─count()─┐
│ 310 │ 5024650 │
│ 262 │ 2622423 │
│ 250 │ 1953176 │
│ 208 │ 1891187 │
│ 724 │ 1836150 │
│ 404 │ 1729151 │
│ 234 │ 1618924 │
│ 510 │ 1353998 │
│ 440 │ 1343355 │
│ 311 │ 1332798 │
└─────┴─────────┘

10 rows in set. Elapsed: 0.019 sec. Processed 43.28 million rows, 86.55 MB (2.33 billion rows/s., 4.65 GB/s.)
```

Según la consulta anterior y la [lista de MCC](https://en.wikipedia.org/wiki/Mobile_country_code), los países con más torres de telefonía móvil son: EE. UU., Alemania y Rusia.

Quizá le interese crear un [Diccionario](/es/reference/statements/create/dictionary) en ClickHouse para descodificar estos valores.

<div id="use-case">
  ## Caso de uso: incorporar datos geográficos
</div>

Con la función [`pointInPolygon`](/es/reference/functions/regular-functions/geo/coordinates#pointinpolygon).

1. Cree una tabla en la que almacenaremos polígonos:

<Tabs>
  <Tab title="ClickHouse Cloud">
    ```sql theme={null}
    CREATE TABLE moscow (polygon Array(Tuple(Float64, Float64)))
    ORDER BY polygon;
    ```
  </Tab>

  <Tab title="Autogestionado">
    ```sql theme={null}
    CREATE TEMPORARY TABLE
    moscow (polygon Array(Tuple(Float64, Float64)));
    ```
  </Tab>
</Tabs>

2. Este es un contorno aproximado de Moscú (sin la "Nueva Moscú"):

```sql theme={null}
INSERT INTO moscow VALUES ([(37.84172564285271, 55.78000432402266),
(37.8381207618713, 55.775874525970494), (37.83979446823122, 55.775626746008065), (37.84243326983639, 55.77446586811748), (37.84262672750849, 55.771974101091104), (37.84153238623039, 55.77114545193181), (37.841124690460184, 55.76722010265554),
(37.84239076983644, 55.76654891107098), (37.842283558197025, 55.76258709833121), (37.8421759312134, 55.758073999993734), (37.84198330422974, 55.75381499999371), (37.8416827275085, 55.749277102484484), (37.84157576190186, 55.74794544108413),
(37.83897929098507, 55.74525257875241), (37.83739676451868, 55.74404373042019), (37.838732481460525, 55.74298009816793), (37.841183997352545, 55.743060321833575), (37.84097476190185, 55.73938799999373), (37.84048155819702, 55.73570799999372),
(37.840095812164286, 55.73228210777237), (37.83983814285274, 55.73080491981639), (37.83846476321406, 55.729799917464675), (37.83835745269769, 55.72919751082619), (37.838636380279524, 55.72859509486539), (37.8395161005249, 55.727705075632784),
(37.83897964285276, 55.722727886185154), (37.83862557539366, 55.72034817326636), (37.83559735744853, 55.71944437307499), (37.835370708803126, 55.71831419154461), (37.83738169402022, 55.71765218986692), (37.83823396494291, 55.71691750159089),
(37.838056931213345, 55.71547311301385), (37.836812846557606, 55.71221445615604), (37.83522525396725, 55.709331054395555), (37.83269301586908, 55.70953687463627), (37.829667367706236, 55.70903403789297), (37.83311126588435, 55.70552351822608),
(37.83058993121339, 55.70041317726053), (37.82983872750851, 55.69883771404813), (37.82934501586913, 55.69718947487017), (37.828926414016685, 55.69504441658371), (37.82876530422971, 55.69287499999378), (37.82894754100031, 55.690759754047335),
(37.827697554878185, 55.68951421135665), (37.82447346292115, 55.68965045405069), (37.83136543914793, 55.68322046195302), (37.833554015869154, 55.67814012759211), (37.83544184655761, 55.67295011628339), (37.837480388885474, 55.6672498719639),
(37.838960677246064, 55.66316274139358), (37.83926093121332, 55.66046999999383), (37.839025050262435, 55.65869897264431), (37.83670784390257, 55.65794084879904), (37.835656529083245, 55.65694309303843), (37.83704060449217, 55.65689306460552),
(37.83696819873806, 55.65550363526252), (37.83760389616388, 55.65487847246661), (37.83687972750851, 55.65356745541324), (37.83515216004943, 55.65155951234079), (37.83312418518067, 55.64979413590619), (37.82801726983639, 55.64640836412121),
(37.820614174591, 55.64164525405531), (37.818908190475426, 55.6421883258084), (37.81717543386075, 55.64112490388471), (37.81690987037274, 55.63916106913107), (37.815099354492155, 55.637925371757085), (37.808769150787356, 55.633798276884455),
(37.80100123544311, 55.62873670012244), (37.79598013491824, 55.62554336109055), (37.78634567724606, 55.62033499605651), (37.78334147619623, 55.618768681480326), (37.77746201055901, 55.619855533402706), (37.77527329626457, 55.61909966711279),
(37.77801986242668, 55.618770300976294), (37.778212973541216, 55.617257701952106), (37.77784818518065, 55.61574504433011), (37.77016867724609, 55.61148576294007), (37.760191219573976, 55.60599579539028), (37.75338926983641, 55.60227892751446),
(37.746329965606634, 55.59920577639331), (37.73939925396728, 55.59631430313617), (37.73273665739439, 55.5935318803559), (37.7299954450912, 55.59350760316188), (37.7268679946899, 55.59469840523759), (37.72626726983634, 55.59229549697373),
(37.7262673598022, 55.59081598950582), (37.71897193121335, 55.5877595845419), (37.70871550793456, 55.58393177431724), (37.700497489410374, 55.580917323756644), (37.69204305026244, 55.57778089778455), (37.68544477378839, 55.57815154690915),
(37.68391050793454, 55.57472945079756), (37.678803592590306, 55.57328235936491), (37.6743402539673, 55.57255251445782), (37.66813862698363, 55.57216388774464), (37.617927457672096, 55.57505691895805), (37.60443099999999, 55.5757737568051),
(37.599683515869145, 55.57749105910326), (37.59754177842709, 55.57796291823627), (37.59625834786988, 55.57906686095235), (37.59501783265684, 55.57746616444403), (37.593090671936025, 55.57671634534502), (37.587018007904, 55.577944600233785),
(37.578692203704804, 55.57982895000019), (37.57327546607398, 55.58116294118248), (37.57385012109279, 55.581550362779), (37.57399562266922, 55.5820107079112), (37.5735356072979, 55.58226289171689), (37.57290393054962, 55.582393529795155),
(37.57037722355653, 55.581919415056234), (37.5592298306885, 55.584471614867844), (37.54189249206543, 55.58867650795186), (37.5297256269836, 55.59158133551745), (37.517837865081766, 55.59443656218868), (37.51200186508174, 55.59635625174229),
(37.506808949737554, 55.59907823904434), (37.49820432275389, 55.6062944994944), (37.494406071441674, 55.60967103463367), (37.494760001358024, 55.61066689753365), (37.49397137107085, 55.61220931698269), (37.49016528606031, 55.613417718449064),
(37.48773249206542, 55.61530616333343), (37.47921386508177, 55.622640129112334), (37.470652153442394, 55.62993723476164), (37.46273446298218, 55.6368075123157), (37.46350692265317, 55.64068225239439), (37.46050283203121, 55.640794546982576),
(37.457627470916734, 55.64118904154646), (37.450718034393326, 55.64690488145138), (37.44239252645875, 55.65397824729769), (37.434587576721185, 55.66053543155961), (37.43582144975277, 55.661693766520735), (37.43576786245721, 55.662755031737014),
(37.430982915344174, 55.664610641628116), (37.428547447097685, 55.66778515273695), (37.42945134592044, 55.668633314343566), (37.42859571562949, 55.66948145750025), (37.4262836402282, 55.670813882451405), (37.418709037048295, 55.6811141674414),
(37.41922139651101, 55.68235377885389), (37.419218771842885, 55.68359335082235), (37.417196501327446, 55.684375235224735), (37.41607020370478, 55.68540557585352), (37.415640857147146, 55.68686637150793), (37.414632153442334, 55.68903015131686),
(37.413344899475064, 55.690896881757396), (37.41171432275391, 55.69264232162232), (37.40948282275393, 55.69455101638112), (37.40703674603271, 55.69638690385348), (37.39607169577025, 55.70451821283731), (37.38952706878662, 55.70942491932811),
(37.387778313491815, 55.71149057784176), (37.39049275399779, 55.71419814298992), (37.385557272491454, 55.7155489617061), (37.38388335714726, 55.71849856042102), (37.378368238098155, 55.7292763261685), (37.37763597123337, 55.730845879211614),
(37.37890062088197, 55.73167906388319), (37.37750451918789, 55.734703664681774), (37.375610832015965, 55.734851959522246), (37.3723813571472, 55.74105626086403), (37.37014935714723, 55.746115620904355), (37.36944173016362, 55.750883999993725),
(37.36975304365541, 55.76335905525834), (37.37244070571134, 55.76432079697595), (37.3724259757175, 55.76636979670426), (37.369922155757884, 55.76735417953104), (37.369892695770275, 55.76823419316575), (37.370214730163575, 55.782312184391266),
(37.370493611114505, 55.78436801120489), (37.37120164550783, 55.78596427165359), (37.37284851456452, 55.7874378183096), (37.37608325135799, 55.7886695054807), (37.3764587460632, 55.78947647305964), (37.37530000265506, 55.79146512926804),
(37.38235915344241, 55.79899647809345), (37.384344043655396, 55.80113596939471), (37.38594269577028, 55.80322699999366), (37.38711208598329, 55.804919036911976), (37.3880239841309, 55.806610999993666), (37.38928977249147, 55.81001864976979),
(37.39038389947512, 55.81348641242801), (37.39235781481933, 55.81983538336746), (37.393709457672124, 55.82417822811877), (37.394685720901464, 55.82792275755836), (37.39557615344238, 55.830447148154136), (37.39844478226658, 55.83167107969975),
(37.40019761214057, 55.83151823557964), (37.400398790382326, 55.83264967594742), (37.39659544313046, 55.83322180909622), (37.39667059524539, 55.83402792148566), (37.39682089947515, 55.83638877400216), (37.39643489154053, 55.83861656112751),
(37.3955338994751, 55.84072348043264), (37.392680272491454, 55.84502158126453), (37.39241188227847, 55.84659117913199), (37.392529730163616, 55.84816071336481), (37.39486835714723, 55.85288092980303), (37.39873052645878, 55.859893456073635),
(37.40272161111449, 55.86441833633205), (37.40697072750854, 55.867579567544375), (37.410007082016016, 55.868369880337), (37.4120992989502, 55.86920843741314), (37.412668021163924, 55.87055369615854), (37.41482461111453, 55.87170587948249),
(37.41862266137694, 55.873183961039565), (37.42413732540892, 55.874879126654704), (37.4312182698669, 55.875614937236705), (37.43111093783558, 55.8762723478417), (37.43332105622856, 55.87706546369396), (37.43385747619623, 55.87790681284802),
(37.441303050262405, 55.88027084462084), (37.44747234260555, 55.87942070143253), (37.44716141796871, 55.88072960917233), (37.44769797085568, 55.88121221323979), (37.45204320500181, 55.882080694420715), (37.45673176190186, 55.882346110794586),
(37.463383999999984, 55.88252729504517), (37.46682797486874, 55.88294937719063), (37.470014457672086, 55.88361266759345), (37.47751410450743, 55.88546991372396), (37.47860317658232, 55.88534929207307), (37.48165826025772, 55.882563306475106),
(37.48316434442331, 55.8815803226785), (37.483831555817645, 55.882427612793315), (37.483182967125686, 55.88372791409729), (37.483092277908824, 55.88495581062434), (37.4855716508179, 55.8875561994203), (37.486440636245746, 55.887827444039566),
(37.49014203439328, 55.88897899871799), (37.493210285705544, 55.890208937135604), (37.497512451065035, 55.891342397444696), (37.49780744510645, 55.89174030252967), (37.49940333499519, 55.89239745507079), (37.50018383334346, 55.89339220941865),
(37.52421672750851, 55.903869074155224), (37.52977457672118, 55.90564076517974), (37.53503220370484, 55.90661661218259), (37.54042858064267, 55.90714113744566), (37.54320461007303, 55.905645048442985), (37.545686966066306, 55.906608607018505),
(37.54743976120755, 55.90788552162358), (37.55796999999999, 55.90901557907218), (37.572711542327866, 55.91059395704873), (37.57942799999998, 55.91073854155573), (37.58502865872187, 55.91009969268444), (37.58739968913264, 55.90794809960554),
(37.59131567193598, 55.908713267595054), (37.612687423278814, 55.902866854295375), (37.62348079629517, 55.90041967242986), (37.635797880950896, 55.898141151686396), (37.649487626983664, 55.89639275532968), (37.65619302513125, 55.89572360207488),
(37.66294133862307, 55.895295577183965), (37.66874564418033, 55.89505457604897), (37.67375601586915, 55.89254677027454), (37.67744661901856, 55.8947775867987), (37.688347, 55.89450045676125), (37.69480554232789, 55.89422926332761),
(37.70107096560668, 55.89322256101114), (37.705962965606716, 55.891763491662616), (37.711885134918205, 55.889110234998974), (37.71682005026245, 55.886577568759876), (37.7199315476074, 55.88458159806678), (37.72234560316464, 55.882281005794134),
(37.72364385977171, 55.8809452036196), (37.725371142837474, 55.8809722706006), (37.727870902099546, 55.88037213862385), (37.73394330422971, 55.877941504088696), (37.745339592590376, 55.87208120378722), (37.75525267724611, 55.86703807949492),
(37.76919976190188, 55.859821640197474), (37.827835219574, 55.82962968399116), (37.83341438888553, 55.82575289922351), (37.83652584655761, 55.82188784027888), (37.83809213491821, 55.81612575504693), (37.83605359521481, 55.81460347077685),
(37.83632178569025, 55.81276696067908), (37.838623105812026, 55.811486181656385), (37.83912198147584, 55.807329380532785), (37.839079078033414, 55.80510270463816), (37.83965844708251, 55.79940712529036), (37.840581150787344, 55.79131399999368),
(37.84172564285271, 55.78000432402266)]);
```

3. Comprueba cuántas torres de telefonía móvil hay en Moscú:

```sql theme={null}
SELECT count() FROM cell_towers
WHERE pointInPolygon((lon, lat), (SELECT * FROM moscow))
```

```response theme={null}
┌─count()─┐
│  310463 │
└─────────┘

1 rows in set. Elapsed: 0.067 sec. Processed 43.28 million rows, 692.42 MB (645.83 million rows/s., 10.33 GB/s.)
```

<div id="review-of-the-schema">
  ## Revisión del esquema
</div>

Antes de crear visualizaciones en Superset, revise las columnas que va a utilizar. Este conjunto de datos proporciona principalmente la ubicación (longitud y latitud) y los tipos de radio de las torres de telefonía móvil de todo el mundo. Las descripciones de las columnas se pueden consultar en el [foro de la comunidad](https://community.opencellid.org/t/documenting-the-columns-in-the-downloadable-cells-database-csv/186). Las columnas utilizadas en las visualizaciones que se crearán se describen a continuación.

Aquí tiene una descripción de las columnas tomada del foro de OpenCelliD:

| Columna | Descripción                                                      |
| ------- | ---------------------------------------------------------------- |
| radio   | Generación de tecnología: CDMA, GSM, UMTS, 5G NR                 |
| mcc     | Código de país móvil: `204` corresponde a Países Bajos           |
| lon     | Longitud: junto con la latitud, ubicación aproximada de la torre |
| lat     | Latitud: junto con la longitud, ubicación aproximada de la torre |

<Tip>
  **mcc**

  Para encontrar su MCC, consulte [Códigos de red móvil](https://en.wikipedia.org/wiki/Mobile_country_code) y use los tres dígitos de la columna **Código de país móvil**.
</Tip>

El esquema de esta tabla se diseñó para un almacenamiento compacto en disco y para acelerar las consultas.

* Los datos de `radio` se almacenan como `Enum8` (`UInt8`) en lugar de una cadena.
* `mcc`, o código de país móvil, se almacena como `UInt16`, ya que sabemos que el rango va de 1 a 999.
* `lon` y `lat` son `Float64`.

Ninguno de los demás campos se utiliza en las consultas ni en las visualizaciones de esta guía, pero se describen en el foro enlazado anteriormente por si le interesa.

<div id="build-visualizations-with-apache-superset">
  ## Crear visualizaciones con Apache Superset
</div>

Superset se puede ejecutar fácilmente con Docker. Si ya tienes Superset en ejecución, solo necesitas añadir ClickHouse Connect con `pip install clickhouse-connect`. Si necesitas instalar Superset, abre **Launch Apache Superset in Docker** justo debajo.

<Accordion title="Iniciar Apache Superset en Docker">
  Superset proporciona instrucciones para [instalar Superset localmente con Docker Compose](https://superset.apache.org/docs/installation/installing-superset-using-docker-compose/). Después de clonar el repositorio de Apache Superset desde GitHub, puedes ejecutar el código de desarrollo más reciente o una etiqueta específica. Recomendamos la versión 2.0.0, ya que es la versión más reciente que no está marcada como `pre-release`.

  Hay algunas tareas que deben realizarse antes de ejecutar `docker compose`:

  1. Agregar el driver oficial de ClickHouse Connect
  2. Obtener una clave de API de Mapbox y agregarla como variable de entorno (opcional)
  3. Especificar la versión de Superset que se ejecutará

  <Tip>
    Los comandos siguientes deben ejecutarse desde el nivel superior del repositorio de GitHub, `superset`.
  </Tip>

  ## Driver oficial de ClickHouse Connect

  Para que el driver ClickHouse Connect esté disponible en el despliegue de Superset, agrégalo al archivo local de requisitos:

  ```bash theme={null}
  echo "clickhouse-connect" >> ./docker/requirements-local.txt
  ```

  ## Mapbox

  Esto es opcional; puedes representar datos de ubicación en Superset sin una clave de API de Mapbox, pero verás un mensaje indicando que debes agregar una clave y faltará la imagen de fondo del mapa (solo verás los puntos de datos y no el fondo del mapa). Mapbox ofrece un nivel gratuito si deseas usarlo.

  Algunas de las visualizaciones de ejemplo que las guías te indican crear usan datos de ubicación, por ejemplo, longitud y latitud. Superset incluye compatibilidad con mapas de Mapbox. Para usar las visualizaciones de Mapbox, necesitas una clave de API de Mapbox. Regístrate en el [nivel gratuito de Mapbox](https://account.mapbox.com/auth/signup/) y genera una clave de API.

  Haz que la clave de API esté disponible para Superset:

  ```bash theme={null}
  echo "MAPBOX_API_KEY=pk.SAMPLE-Use-your-key-instead" >> docker/.env-non-dev
  ```

  ## Desplegar la versión 2.0.0 de Superset

  Para desplegar la versión 2.0.0, ejecuta:

  ```bash theme={null}
  git checkout 2.0.0
  TAG=2.0.0 docker-compose -f docker-compose-non-dev.yml pull
  TAG=2.0.0 docker-compose -f docker-compose-non-dev.yml up
  ```
</Accordion>

Para crear un dashboard de Superset con el conjunto de datos OpenCelliD, debes:

* Añadir tu servicio de ClickHouse como una **base de datos** de Superset
* Añadir la tabla **cell\_towers** como un **conjunto de datos** de Superset
* Crear algunos **gráficos**
* Añadir los gráficos a un **dashboard**

<div id="add-your-clickhouse-service-as-a-superset-database">
  ### Añade tu servicio de ClickHouse como una base de datos de Superset
</div>

Para conectarse a ClickHouse con HTTP(S), necesita esta información:

| Parámetro(s)              | Descripción                                                                                                                       |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `HOST` and `PORT`         | Normalmente, el puerto es 8443 cuando se usa TLS o 8123 cuando no se usa TLS.                                                     |
| `DATABASE NAME`           | De forma predeterminada, existe una base de datos llamada `default`; use el nombre de la base de datos a la que desea conectarse. |
| `USERNAME` and `PASSWORD` | De forma predeterminada, el nombre de usuario es `default`. Use el nombre de usuario adecuado para su caso de uso.                |

Los detalles de su servicio de ClickHouse Cloud están disponibles en la consola de ClickHouse Cloud.
Seleccione un servicio y haga clic en **Connect**:

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/cloud-connect-button.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=81c1524ac8ac2dac27e1558f13fcfd29" size="md" alt="Botón Connect del servicio de ClickHouse Cloud" border width="998" height="932" data-path="images/_snippets/cloud-connect-button.png" />

Elija **HTTPS**. Los detalles de conexión se muestran en un comando `curl` de ejemplo.

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/1oh4rjwfuHRS2yL2/images/_snippets/connection-details-https.png?fit=max&auto=format&n=1oh4rjwfuHRS2yL2&q=85&s=335e19954512afe36d735a736cd32be7" size="md" alt="Detalles de conexión HTTPS de ClickHouse Cloud" border width="1320" height="1184" data-path="images/_snippets/connection-details-https.png" />

Si usa ClickHouse autogestionado, los detalles de conexión los establece su administrador de ClickHouse.

En Superset, puedes añadir una base de datos eligiendo su tipo y, después, proporcionando los datos de conexión. Abre Superset y busca el **+**; allí encontrarás un menú con las opciones **Data** y luego **Connect database**.

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/ddNWBC5mE_w-syUp/images/getting-started/example-datasets/superset-add.png?fit=max&auto=format&n=ddNWBC5mE_w-syUp&q=85&s=bf0ce90f087e2401d43c47b4a2fdf64b" size="md" alt="Agregar una base de datos" width="636" height="264" data-path="images/getting-started/example-datasets/superset-add.png" />

Elige **ClickHouse Connect** de la lista:

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/ddNWBC5mE_w-syUp/images/getting-started/example-datasets/superset-choose-a-database.png?fit=max&auto=format&n=ddNWBC5mE_w-syUp&q=85&s=a53ad9bae012c3a8679d745a501266d3" size="md" alt="Elegir ClickHouse Connect como tipo de base de datos" width="594" height="751" data-path="images/getting-started/example-datasets/superset-choose-a-database.png" />

<Note>
  Si **ClickHouse Connect** no aparece entre las opciones, tendrás que instalarlo. El comando es `pip install clickhouse-connect`, y puedes encontrar más información [aquí](https://pypi.org/project/clickhouse-connect/).
</Note>

<div id="add-your-connection-details">
  #### Añade tus datos de conexión
</div>

<Tip>
  Asegúrate de activar **SSL** al conectarte a ClickHouse Cloud u otros sistemas de ClickHouse que requieran el uso de SSL.
</Tip>

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/ddNWBC5mE_w-syUp/images/getting-started/example-datasets/superset-connect-a-database.png?fit=max&auto=format&n=ddNWBC5mE_w-syUp&q=85&s=59d938d9188c6c166ecdf913778c1316" size="md" alt="Añadir ClickHouse como fuente de datos en Superset" width="604" height="983" data-path="images/getting-started/example-datasets/superset-connect-a-database.png" />

<div id="add-the-table-cell_towers-as-a-superset-dataset">
  ### Añade la tabla **cell\_towers** como un **conjunto de datos** de Superset
</div>

En Superset, un **conjunto de datos** se corresponde con una tabla dentro de una base de datos. Haz clic en añadir un conjunto de datos y elige tu servicio de ClickHouse, la base de datos que contiene tu tabla (`default`) y selecciona la tabla `cell_towers`:

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/ddNWBC5mE_w-syUp/images/getting-started/example-datasets/superset-add-dataset.png?fit=max&auto=format&n=ddNWBC5mE_w-syUp&q=85&s=695e47a1be9c127f619d6503532ef09f" size="md" alt="Añadir la tabla cell_towers como un conjunto de datos" width="715" height="825" data-path="images/getting-started/example-datasets/superset-add-dataset.png" />

<div id="create-some-charts">
  ### Crea algunos **gráficos**
</div>

Al añadir un gráfico en Superset, debes especificar el conjunto de datos (`cell_towers`) y el tipo de gráfico. Dado que el conjunto de datos OpenCelliD proporciona coordenadas de longitud y latitud de torres de telefonía móvil, crearemos un gráfico de **mapa**. El tipo **deck.gL Scatterplot** es adecuado para este conjunto de datos, ya que funciona bien con puntos de datos densos sobre un mapa.

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/ddNWBC5mE_w-syUp/images/getting-started/example-datasets/superset-create-map.png?fit=max&auto=format&n=ddNWBC5mE_w-syUp&q=85&s=a4e8791f89931509084e65aef8df93c3" size="md" alt="Crear un mapa en Superset" width="965" height="928" data-path="images/getting-started/example-datasets/superset-create-map.png" />

<div id="specify-the-query-used-for-the-map">
  #### Especifica la consulta utilizada para el mapa
</div>

Un gráfico de dispersión de deck.gl requiere una longitud y una latitud, y también se pueden aplicar uno o más filtros a la consulta. En este ejemplo se aplican dos filtros: uno para torres de telefonía móvil con radios UMTS y otro para el código de país móvil asignado a los Países Bajos.

Los campos `lon` y `lat` contienen la longitud y la latitud:

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/SWirV1yBj-_cP_wu/images/getting-started/example-datasets/superset-lon-lat.png?fit=max&auto=format&n=SWirV1yBj-_cP_wu&q=85&s=2b9636cac9e011d62efae56492b61d47" size="md" alt="Especificar campos de longitud y latitud" width="436" height="454" data-path="images/getting-started/example-datasets/superset-lon-lat.png" />

Añade un filtro con `mcc` = `204` (o sustitúyelo por cualquier otro valor de `mcc`):

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/SWirV1yBj-_cP_wu/images/getting-started/example-datasets/superset-mcc-204.png?fit=max&auto=format&n=SWirV1yBj-_cP_wu&q=85&s=01c51181b12274efad557a523af9be87" size="md" alt="Filtrar por MCC 204" width="421" height="370" data-path="images/getting-started/example-datasets/superset-mcc-204.png" />

Añade un filtro con `radio` = `'UMTS'` (o sustitúyelo por cualquier otro valor de `radio`; puedes ver las opciones en la salida de `DESCRIBE TABLE cell_towers`):

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/SWirV1yBj-_cP_wu/images/getting-started/example-datasets/superset-radio-umts.png?fit=max&auto=format&n=SWirV1yBj-_cP_wu&q=85&s=3e19e1efce44e4198aa34a67ad7e5e78" size="md" alt="Filtrar por radio igual a UMTS" width="424" height="361" data-path="images/getting-started/example-datasets/superset-radio-umts.png" />

Esta es la configuración completa del gráfico que filtra por `radio = 'UMTS'` y `mcc = 204`:

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/SWirV1yBj-_cP_wu/images/getting-started/example-datasets/superset-umts-netherlands.png?fit=max&auto=format&n=SWirV1yBj-_cP_wu&q=85&s=bd70d402afe0dc96c014a3601cd48512" size="md" alt="Gráfico para radios UMTS en MCC 204" width="395" height="872" data-path="images/getting-started/example-datasets/superset-umts-netherlands.png" />

Haz clic en **UPDATE CHART** para mostrar la visualización.

<div id="add-the-charts-to-a-dashboard">
  ### Añade los gráficos a un **dashboard**
</div>

Esta captura de pantalla muestra ubicaciones de torres de telefonía móvil con radios LTE, UMTS y GSM. Todos los gráficos se crean de la misma manera y se añaden a un dashboard.

<Image img="https://mintcdn.com/private-7c7dfe99-fix-nav-issues/ddNWBC5mE_w-syUp/images/getting-started/example-datasets/superset-cell-tower-dashboard.png?fit=max&auto=format&n=ddNWBC5mE_w-syUp&q=85&s=cedecc814c938e4bfc44e5b3a6fe5336" size="md" alt="Dashboard de torres de telefonía móvil por tipo de radio en mcc 204" width="1103" height="1014" data-path="images/getting-started/example-datasets/superset-cell-tower-dashboard.png" />

<Tip>
  Los datos también están disponibles para consultas interactivas en el [Playground](https://sql.clickhouse.com).

  Este [ejemplo](https://sql.clickhouse.com?query_id=UV8M4MAGS2PWAUOAYAAARM) completará automáticamente el nombre de usuario e incluso la consulta.

  Aunque no puedes crear tablas en el Playground, puedes ejecutar todas las consultas e incluso usar Superset (ajusta el nombre del host y el número de puerto).
</Tip>
