1 flink-sql grava formato parquet
-
1 link de referência
ParquetOutputFormat - parquet-hadoop 1.10.0 javadoc
Sistema de Arquivos | Apache Flink
Nota: Vários links devem ser combinados para ver
-
2 Conecte-se ao sistema de arquivos
CREATE TABLE test_fs_table (
iid STRING,
local_time TIMESTAMP,
dt STRING,
dh STRING
) PARTITIONED BY (dt,dh) WITH (
'connector'='filesystem',
'path'='out_path',
'format'='parquet',
'parquet.block.size'='128MB', -- 设定文件块大小
'auto-compaction'='true', -- 开启自动合并小文件
'compaction.file-size'='12MB', -- 合并文件大小
'parquet.compression'='SNAPPY' -- 指定压缩, 生成的文件名没有压缩类型标记
)
-
2 regras de geração de arquivo parquet
1) A quantidade de dados é pequena e o ponto de verificação não excede parquet.block.size
2) A quantidade de dados é grande e o ponto de verificação excede parquet.block.size
-
3) Condições para reversão de arquivo
a. O próximo ponto de verificação está chegando
b. O arquivo atinge 128M (parquet.block.size)
c. A próxima partição está chegando
-
3 Otimização de arquivos pequenos
Fatores de influência: paralelismo, tempo de reversão, tamanho do arquivo, ponto de verificação, compactação
1 flink-sql grava arquivos parquet em
Resumo das regras:
1) No ponto de verificação, gere um arquivo compacto (imediatamente legível) e exclua o arquivo descompactado (ilegível) no próximo ponto de verificação;
2) Apenas os arquivos em um único ponto de verificação podem ser mesclados e os arquivos gerados por diferentes pontos de verificação não serão mesclados;
3) Depois que a partição terminar dois pontos de verificação, o arquivo estará disponível
Link de referência:
Combinando arquivos pequenos no Flink - Procura-se programador