IBM Cloud Docs
Consultando datos de watsonx.data

Consultando datos de watsonx.data

Antes de empezar

In the examples, the publicly available datos del registro Viaje en taxi a Nueva York {: external} for yellow taxis in January 2021 and 2022 is used. Para seguir este ejemplo, asegúrese de que los datos están en un bucket S3 accesible y la tabla se cargó en watsonx.data en una tabla Apache Iceberg en el servidor Hive Metastore (HMS).

1. Cree una base de datos utilizando el metastoreuri necesario.

Los orígenes de datos externos permiten a un administrador conceder acceso a S3/Azure sin proporcionar las claves directamente a un usuario.

EjemploS3):

LOCALDB.ADMIN(ADMIN)=> create database mylake with metastoreuri 'thrift://mymetastoreserverhostname:9083' catalogtype 'hive' on awss3 using ( ACCESSKEYID 'xxxx' SECRETACCESSKEY 'xxxx' BUCKET 'example-bucket' REGION 'us-east-1');
NOTICE:  589 tables from the datalake are available in MYLAKE

EjemploAzure):

create database mylake with metastoreuri 'thrift://mymetastoreserverhostname:9083' catalogtype 'hive' on azureblob using (ACCOUNT 'xxxx' KEY 'xxxx' CONTAINER 'example_container');
NOTICE:  589 tables from the datalake are available in MYLAKE

Consulte ' CREAR FUENTE DE DATOS EXTERNA ' para obtener más detalles sobre las opciones de fuente de datos y las opciones de autenticación para ' Azure.

Sólo se puede asignar una única fuente de datos a una base de datos, si necesita otra fuente de datos, debe crear otra base de datos datalake.

2. Conectarse a la base de datos.

LOCALDB.ADMIN(ADMIN)=> \c mylake

Ahora está conectado a la base de datos mylake.

3. Liste los esquemas disponibles.

MYLAKE.NETEZZA_SCHEMA(ADMIN)=> show schema;

De forma predeterminada, se conecta a un esquema reservado denominado NETEZZA_SCHEMA.

Salida:

DATABASE |                   SCHEMA                   | OWNER
----------+--------------------------------------------+-------
MYLAKE   | DEFAULT                                    | ADMIN
MYLAKE   | DEFINITION_SCHEMA                          | ADMIN
MYLAKE   | DEMO                                       | ADMIN
MYLAKE   | INFORMATION_SCHEMA                         | ADMIN
MYLAKE   | NETEZZA_SCHEMA                             | ADMIN
MYLAKE   | TAXIDATA                                   | ADMIN
MYLAKE   | TEST                                       | ADMIN
(7 rows)

4. En la lista de esquemas, establezca el esquema al que desea conectarse.

MYLAKE.NETEZZA_SCHEMA(ADMIN)=> set schema taxidata;
SET SCHEMA

También puede consultar los datos utilizando una vía de acceso completa SELECT * de mydb.myschema.mytable.

5. Enumera las tablas disponibles.

MYLAKE.TAXIDATA(ADMIN)=> show table;

Salida:

DATABASE |  SCHEMA  |          TABLE           |      TYPE      | OWNER
----------+----------+--------------------------+----------------+-------
MYLAKE   | TAXIDATA | YELLOW_TAXI_JANUARY_2022 | DATALAKE TABLE | ADMIN
MYLAKE   | TAXIDATA | YELLOW_TAXI_JANUARY_2021 | DATALAKE TABLE | ADMIN
(2 rows)

6. Seleccione * de la tabla necesaria.

MYLAKE.TAXIDATA(ADMIN)=> select * from YELLOW_TAXI_JANUARY_2021 limit 1;

Salida:

VENDORID | TPEP_PICKUP_DATETIME | TPEP_DROPOFF_DATETIME | PASSENGER_COUNT | TRIP_DISTANCE | RATECODEID | STORE_AND_FWD_FLAG | PULOCATIONID | DO
LOCATIONID | PAYMENT_TYPE | FARE_AMOUNT | EXTRA | MTA_TAX | TIP_AMOUNT | TOLLS_AMOUNT | IMPROVEMENT_SURCHARGE | TOTAL_AMOUNT | CONGESTION_SURCHARGE |AIRPORT_FEE
----------+----------------------+-----------------------+-----------------+---------------+------------+--------------------+--------------+---
-----------+--------------+-------------+-------+---------+------------+--------------+-----------------------+--------------+------------------
----+-------------
        1 | 2021-01-01 00:30:10  | 2021-01-01 00:36:12   |               1 |           2.1 |          1 | N                  |          142 |
        43 |            2 |           8 |     3 |     0.5 |          0 |            0 |                   0.3 |         11.8 |
2.5 |
(1 row)
  • Para identificar el número total de pasajeros que viajaron en taxis en Nueva York en enero de 2022, ejecute:

    MYLAKE.TAXIDATA(ADMIN)=> select sum(PASSENGER_COUNT) FROM YELLOW_TAXI_JANUARY_2022;
    

    Salida:

    SUM
    ---------
    3324167
    (1 row)
    
  • Para identificar el proveedor que tenía más pasajeros entre la 1:00 AM y las 6:00 AM, ejecute:

    MYLAKE.TAXIDATA(ADMIN)=> SELECT VENDORID, SUM(PASSENGER_COUNT) as "passengers" FROM YELLOW_TAXI_JANUARY_2022 WHERE TPEP_PICKUP_DATETIME::time > '1:00am'AND "TPEP_PICKUP_DATETIME"::time < '6:00am' GROUP BY VENDORID;
    

    Salida:

    VENDORID | passengers
    ----------+------------
           2 |     122251
           1 |      40807
           6 |
           5 |
    (4 rows)