Overview

If a table does not have a primary key defined, it is an append table. Compared to the primary key table, it does not have the ability to directly receive changelogs. It cannot be directly updated with data through upsert. It can only receive incoming data from append data.

Flink

  1. CREATE TABLE my_table (
  2. product_id BIGINT,
  3. price DOUBLE,
  4. sales BIGINT
  5. ) WITH (
  6. -- 'target-file-size' = '256 MB',
  7. -- 'file.format' = 'parquet',
  8. -- 'file.compression' = 'zstd',
  9. -- 'file.compression.zstd-level' = '3'
  10. );

Batch write and batch read in typical application scenarios, similar to a regular Hive partition table, but compared to the Hive table, it can bring:

  1. Object storage (S3, OSS) friendly
  2. Time Travel and Rollback
  3. DELETE / UPDATE with low cost
  4. Automatic small file merging in streaming sink
  5. Streaming read & write like a queue
  6. High performance query with order and index