Hudi — это формат таблицы data lake, который предоставляет возможность обновлять и удалять данные, а также потреблять новые данные в HDFS. Он поддерживает несколько вычислительных движков и предоставляет интерфейсы вставки, обновления и удаления (IUD) и потоковые примитивы, включая upsert и инкрементный pull, над наборами данных в HDFS.
Чтобы использовать Hudi, убедитесь, что сервис Spark2x установлен в кластере MRS.
Рисунок 1 Базовая архитектура Hudi

Таблицы Copy-on-write также называют COW‑таблицами. Для хранения данных используются файлы Parquet, а внутренние операции обновления выполняются путем перезаписи оригинальных файлов Parquet.
Таблицы Merge-on-read также называют таблицами MOR. Для хранения данных используется комбинация колонно-ориентированного формата Parquet и строкового формата Avro. Файлы Parquet используются для хранения базовых данных, а файлы Avro (также называемые лог‑файлами) — для хранения инкрементальных данных.
Предоставляет последние snapshot‑данные текущей таблицы Hudi. То есть, как только последние данные записаны в таблицу Hudi, ново‑записанные данные могут быть запрошены через это представление.
Как таблицы COW, так и таблицы MOR поддерживают эту возможность представления.
Обеспечивает возможность инкрементного запроса. Инкрементные данные после указанного коммита могут быть запрошены. Это представление можно использовать для быстрой выборки инкрементных данных.
Таблицы COW поддерживают эту возможность просмотра. Таблицы MOR также поддерживают эту возможность просмотра, но возможность инкрементного просмотра исчезает после выполнения операции сжатия.
Предоставляет только данные, хранящиеся в последнем файле Parquet.
Этот просмотр отличается для таблиц COW и MOR.
Для таблиц COW возможность просмотра совпадает с возможностью просмотра в режиме реального времени. (Таблицы COW используют только файлы Parquet для хранения данных.)
Для таблиц MOR доступны только базовые файлы, и предоставляются данные в указанных фрагментах файлов, начиная с последней операции сжатия. Можно просто понять, что этот просмотр предоставляет только данные, хранящиеся в файлах Parquet таблиц MOR, а данные из файлов журналов игнорируются. Данные, предоставляемые этим просмотром, могут быть не самыми последними. Однако после выполнения операции сжатия над таблицами MOR инкрементные данные журнала объединяются с базовыми данными. В этом случае этот просмотр имеет те же возможности, что и просмотр в режиме реального времени.