INTEGRITY Документация

Trino

Ниже приведён пример использования Trino ↗ для подключения к R2 Data Catalog. Дополнительные сведения о подключении к R2 Data Catalog с помощью Trino см. в Документация Trino ↗.

Предварительные требования

Настройка

Создайте локальный каталог для конфигурации каталога и перейдите в него

mkdir -p trino-catalog && cd trino-catalog/

Создайте файл конфигурации с именем r2.properties для подключения к R2 Data Catalog:

# r2.properties
connector.name=iceberg

# R2 Configuration
fs.native-s3.enabled=true
s3.region=auto
s3.aws-access-key=<Your R2 access key>
s3.aws-secret-key=<Your R2 secret>
s3.endpoint=<Your R2 endpoint>
s3.path-style-access=true

# R2 Data Catalog Configuration
iceberg.catalog.type=rest
iceberg.rest-catalog.uri=<Your R2 Data Catalog URI>
iceberg.rest-catalog.warehouse=<Your R2 Data Catalog warehouse>
iceberg.rest-catalog.security=OAUTH2
iceberg.rest-catalog.oauth2.token=<Your R2 authentication token>

Пример использования

  1. Запустите Trino с конфигурацией каталога R2:

    # Create a local directory for the catalog configuration
    mkdir -p trino-catalog
    
    # Place your r2.properties file in the catalog directory
    cp r2.properties trino-catalog/
    
    # Run Trino with the catalog configuration
    docker run -d \
      --name trino-r2 \
      -p 8080:8080 \
      -v $(pwd)/trino-catalog:/etc/trino/catalog \
      trinodb/trino:latest
  2. Подключитесь к Trino и выполните запрос к своему R2 Data Catalog:

    # Connect to the Trino CLI
    docker exec -it trino-r2 trino
  3. В Trino CLI выполните следующие команды:

    -- Show all schemas in the R2 catalog
    SHOW SCHEMAS IN r2;
    
    -- Show all schemas in the R2 catalog
    CREATE SCHEMA r2.example_schema
    
    -- Create a table with some values in it
    CREATE TABLE r2.example_schema.yearly_clicks (
        year,
        clicks
    )
    WITH (
       partitioning = ARRAY['year']
    )
    AS VALUES
        (2021, 10000),
        (2022, 20000);
    
    -- Show tables in a specific schema
    SHOW TABLES IN r2.example_schema;
    
    -- Query your Iceberg table
    SELECT * FROM r2.example_schema.yearly_clicks;