# zhisheng17/flink-learning

flink learning blog. http://www.54tianzhisheng.cn/  含 Flink 入门、概念、原理、实战、性能调优、源码解析等内容。涉及 Flink Connector、Metrics、Library、DataStream API、Table API & SQL 等内容的学习案例，还有 Flink 落地应用的大型项目案例（PVUV、日志存储、百亿数据实时去重、监控告警）分享。欢迎大家支持我的专栏《大数据实时计算引擎 Flink 实战与性能优化》

Repository: https://github.com/zhisheng17/flink-learning
Canonical: https://ross.abutalabs.com/products/flink-learning
Homepage: http://www.54tianzhisheng.cn/tags/Flink/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: flink, kafka, elasticsearch, spark, redis, mysql, rocketmq, hbase, rabbitmq, stream-processing, streaming, clickhouse, loki, influxdb, opentsdb
Last push: 2026-05-06T13:39:08+00:00

## Health v2 (maintenance only)
Score: 69/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 81, release rhythm 35, longevity 100
- inputs: {"age_days": 2801, "days_push": 119, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 15095, forks 3935 (observed 2026-08-28T04:11:09.145129+00:00)

## What it is
A comprehensive Apache Flink learning repository with example code covering DataStream API, Table API & SQL, connectors, metrics, and production case studies like PV/UV statistics, log processing, deduplication, and alerting. It accompanies the author's blog and paid column on Flink fundamentals, internals, performance tuning, and source code analysis.

## Use cases
- learn Apache Flink from scratch with runnable examples
- understand Flink DataStream and Table API & SQL usage
- build real-time PV/UV statistics with Flink
- implement real-time log processing and error alerting
- study Flink performance tuning and data skew handling
- learn how Flink connectors integrate with Kafka, Redis, MySQL, and Elasticsearch
- explore Flink source code analysis and internals

## When to choose
- you are learning Flink and want curated, versioned example code
- you need reference implementations of common streaming use cases like deduplication or alerting
- you want Chinese-language tutorials paired with working Java projects

## When to avoid
- you need production-ready, maintained streaming libraries rather than educational examples
- you require non-Java (e.g., Python/Scala) Flink examples
- you want vendor-neutral documentation instead of one author's blog-style material

## Facets
- artifact type: learning-resource
- maturity: active
- function: streaming, etl, monitoring, alerting, developer-tools
- domain: big-data, analytics, tutorials
- platform: jvm, cross-platform
- tags: apache-flink, stream-processing, kafka, elasticsearch, flink-sql, performance-tuning, source-code-analysis, examples, data-engineering, real-time

## Member repositories
- zhisheng17/flink-learning (main) score 69

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:11:09.145129+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T17:06:44.246371+00:00, confidence not recorded.
  - readme: https://github.com/zhisheng17/flink-learning (fetched 2026-08-28T04:11:09.145129+00:00, sha add723b4bae5)
  - homepage: http://www.54tianzhisheng.cn/tags/Flink/ (fetched 2026-08-29T08:04:36.045499+00:00, sha 6c0540efbdff)
- Data as of 2026-08-30T08:39:29.467469+00:00.
