Коннектор Lakehouse#

Коннектор Lakehouse предоставляет единый способ взаимодействия с данными, хранящимися в разных форматах таблиц, системах хранения и службах metastore. Этот единый коннектор позволяет бесшовно запрашивать и записывать данные независимо от того, находятся ли они в форматах таблиц Iceberg, Delta Lake или Hudi либо в традиционных таблицах Hive.

Коннектор обеспечивает гибкое подключение к популярным службам metastore, включая AWS Glue и Hive Metastore. Для хранения данных он поддерживает широкий набор вариантов, включая облачные хранилища AWS S3, S3-совместимые хранилища, Google Cloud Storage (GCS), Azure Blob Storage, а также установки HDFS.

Коннектор объединяет возможности коннекторов Hive, Iceberg, Delta Lake и Hudi в одном коннекторе. Свойства конфигурации, свойства сеанса, свойства таблиц и поведение берутся из базовых коннекторов. Обратитесь к документации базовых коннекторов для используемых вами форматов таблиц.

Общая конфигурация#

Чтобы настроить коннектор Lakehouse, создайте файл свойств каталога etc/catalog/example.properties со следующим содержимым, заменив свойства подходящими значениями:

connector.name=lakehouse

Необходимо настроить AWS Glue или Hive metastore. Свойство hive.metastore также настроит каталог Iceberg. Не указывайте iceberg.catalog.type.

Необходимо выбрать и настроить одну из поддерживаемых файловых систем.

Свойства конфигурации#

Доступны следующие свойства конфигурации:

Имя свойства

Описание

По умолчанию

lakehouse.table-type

Тип таблицы по умолчанию для новых таблиц, когда свойство таблицы format не указано. Возможные значения:

  • HIVE

  • ICEBERG

  • DELTA

ICEBERG

Конфигурация доступа к файловым системам#

Коннектор поддерживает доступ к следующим файловым системам:

Необходимо включить и настроить доступ к конкретной файловой системе.

Примеры#

Создайте таблицу Iceberg:

CREATE TABLE iceberg_table (
  c1 INTEGER,
  c2 DATE,
  c3 DOUBLE
)
WITH (
  type = 'ICEBERG'
  format = 'PARQUET',
  partitioning = ARRAY['c1', 'c2'],
  sorted_by = ARRAY['c3']
);

Создайте таблицу Hive:

CREATE TABLE hive_page_views (
  view_time TIMESTAMP,
  user_id BIGINT,
  page_url VARCHAR,
  ds DATE,
  country VARCHAR
)
WITH (
  type = 'HIVE',
  format = 'ORC',
  partitioned_by = ARRAY['ds', 'country'],
  bucketed_by = ARRAY['user_id'],
  bucket_count = 50
)