This is an automated email from the ASF dual-hosted git repository.
cancai pushed a commit to branch dev
in repository
https://gitbox.apache.org/repos/asf/incubator-streampark-website.git
The following commit(s) were added to refs/heads/dev by this push:
new b8ae9468 [Improve] Add blog about streampark-usercase-tianyancha (#378)
b8ae9468 is described below
commit b8ae9468e2b926f709e09f51579b6cdbccfebcb1
Author: Kick156 <[email protected]>
AuthorDate: Sun Jun 9 23:14:19 2024 +0800
[Improve] Add blog about streampark-usercase-tianyancha (#378)
* add a new blog(Tianyancha)
* modify tag about Chinese translation
---
blog/11-streampark-usercase-tianyancha.md | 198 +++++++++++++++++++++
.../11-streampark-usercase-tianyancha.md | 197 ++++++++++++++++++++
static/blog/tianyancha/alarm.png | Bin 0 -> 341152 bytes
static/blog/tianyancha/challenges.png | Bin 0 -> 282076 bytes
static/blog/tianyancha/earnings.png | Bin 0 -> 578133 bytes
static/blog/tianyancha/enterprise.png | Bin 0 -> 213773 bytes
static/blog/tianyancha/git.png | Bin 0 -> 180339 bytes
static/blog/tianyancha/historical_logs.png | Bin 0 -> 192580 bytes
static/blog/tianyancha/new_cover.png | Bin 0 -> 364478 bytes
static/blog/tianyancha/permissions.png | Bin 0 -> 161960 bytes
static/blog/tianyancha/sql_job.png | Bin 0 -> 141054 bytes
static/blog/tianyancha/successful.png | Bin 0 -> 42964 bytes
static/blog/tianyancha/task_management.png | Bin 0 -> 257733 bytes
13 files changed, 395 insertions(+)
diff --git a/blog/11-streampark-usercase-tianyancha.md
b/blog/11-streampark-usercase-tianyancha.md
new file mode 100644
index 00000000..804aa127
--- /dev/null
+++ b/blog/11-streampark-usercase-tianyancha.md
@@ -0,0 +1,198 @@
+---
+slug: streampark-usercase-tianyancha
+title: Apache StreamPark™ helps Tianyancha real-time platform
construction|Multiple-fold increase in efficiency
+tags: [StreamPark, Production Practice]
+---
+
+
+
+**Introduction**: This paper mainly introduces the challenges of job
development and management faced by Tianyancha in the operation and maintenance
of nearly 1,000 Flink jobs in the real-time computing business, and solves
these challenges by introducing Apache StreamPark. It introduces some of the
problems encountered in the process of introducing StreamPark, and how to solve
these problems and successfully land the project, and finally greatly reduces
operation and maintenance costs a [...]
+
+Github: https://github.com/apache/streampark
+
+Welcome to follow, star, fork, and participate in contributions
+
+Contributor | Beijing Tianyancha
+
+Author | Li Zhilin
+
+Article compilation|Yang Linwei
+
+Content proofreading|Pan Yuepeng
+
+<!-- truncate -->
+
+Tianyancha is China's leading business search platform. Since its inception in
2014, Tianyancha has continued to maintain rapid growth, with an industry
penetration rate of more than 77%, a monthly active user base of 35 million,
and a cumulative user base of 600 million+, making Tianyancha a super symbol in
the business field, and one of the first companies to obtain the qualification
of enterprise credit collection filed with the Central Bank. After years of
deep cultivation, the platf [...]
+
+
+
+In this paper, we will introduce the challenges faced by the real-time
computing business of Tianyancha, how these challenges are addressed by the
Apache StreamPark platform, as well as the significant benefits and future
plans.
+
+## **Business background and challenges**
+
+Tianyancha has a huge user base and diverse business dimensions, we use Apache
Flink, a powerful real-time computing engine, to provide users with better
products and service experience, our real-time computing business mainly covers
the following scenarios:
+
+- Real-time data ETL processing and data transmission.
+
+- C-end dimensional data statistics, including user behavior, PV/UV analysis.
+
+- Real-time correlation analysis of C-end business data with business
information, risk information, property rights, equity, shareholders, cases and
other information.
+
+With the rapid development of the business of Tianyancha, real-time operations
have increased to 800+, and will soon be thousands in the future. Facing such a
large volume of operations, we have encountered challenges in development and
management, which are roughly as follows:
+
+- **Difficulty in job operation and maintenance**: Jobs cover multiple Flink
versions, running and upgrading multi-version Flink jobs are costly due to API
changes, and job submission and parameter tuning rely on complex scripts, which
greatly increases the maintenance difficulty and cost.
+
+- **Inefficient job development**: From local IDE debugging to test
environment deployment, it takes time-consuming and inefficient steps such as
compilation, file transfer and command execution.
+
+- **Lack of automatic retry mechanism**: Multi-table correlation operation of
real-time business is susceptible to network and IO fluctuations, which leads
to Flink program failure and requires manual or additional program intervention
for recovery, increasing development and maintenance costs.
+
+- **High Maintenance Costs**: Lack of centralized logging, version control,
and configuration management tools makes maintaining a large number of JAR
packages, commit scripts, and Flink client configurations increasingly complex
as the task volume rises.
+
+
+
+## **StreamPark on-the-ground practice**
+
+In order to solve the above problems, our company decided to introduce
StreamPark, we started to pay attention to the StreamPark project when it was
first open-sourced, and the project name was StreamX at that time, and since
then we have been closely following the development of the project, witnessing
its development from open-sourcing to joining the incubation of the Apache
Software Foundation, and we have seen that its community activity, user
reputation, and the number of times of r [...]
+
+- **Git-style project management**: provides a convenient version control and
deployment process for jobs.
+
+- **Powerful job O&M capabilities**: significantly improves the efficiency of
job management and maintenance.
+
+- **Precise second-level alarm system**: provides real-time monitoring and
rapid response capability.
+
+- **One-stop task development platform**: provides strong protection for
development, testing and deployment
+
+### **1. Git-style project management**
+
+Tianyancha more than 90% are JAR jobs, management of hundreds of JAR jobs is a
headache, in order to facilitate the maintenance and management of the previous
we named the JAR file name through the “developer name-project
name-module-environment”, which brings another problem, there is no way to
intuitively differentiate between the maintenance of the operation in that
There is no way to visually distinguish which module the job is maintained in,
and if a non-owner maintains the job, he [...]
+
+In StreamPark, we were pleasantly surprised to find a project management
feature, similar to the Git integration, that solved our pain point by
simplifying the naming convention to isolate projects, people, branches and
environments. Now, we can instantly locate the code and documents of any job,
which greatly improves the maintainability and development efficiency of jobs,
and significantly improves our operation and maintenance efficiency.
+
+
+
+### **2. Seconds-accurate alerts and automated O&M**
+
+Below is one of our Flink online tasks, during the query process to access the
third-party side, Connection Time out and other errors occurred (Note: itself
Flink set the restart policy interval restart three times, but ultimately
failed)
+
+
+
+As shown above, when the job alert was received, and our fellow developers
responded to 1 in the group, we realized that the **job had been successfully
pulled up by StreamPark, and it took less than 15 seconds to resubmit the job
and run it**!
+
+### **3. Platform user rights control**
+
+StreamPark provides a complete set of permission management mechanism, which
allows us to manage the fine-grained permissions of jobs and users on the
StreamPark platform, effectively avoiding possible misoperation due to
excessive user permissions, and reducing the impact on the stability of job
operation and the accuracy of the environment configuration, which is very
necessary for enterprise-level users.
+
+
+
+### **4. Flink SQL online development**
+
+For many development scenarios where Flink SQL jobs need to be submitted, we
can now completely eliminate the tedious steps of writing code in IDEA. Simply
use the StreamPark platform,**which makes it easy to develop Flink SQL jobs**,
and here's a simple example.
+
+
+
+### **5. Well-established operations management capabilities**
+
+StreamPark also has more complete job operation records, for some abnormal
jobs at the time of submission, you can now view the failure log completely
through the platform, including historical log information.
+
+
+
+Of course, StreamPark also provides us with a more complete and user-friendly
task management interface to visualize how tasks are running.
+
+
+
+Our internal real-time projects are highly abstracted code development jobs,
and each time we develop a new job, we only need to modify some external
incoming parameters. With the StreamPark replicated job feature, we can say
goodbye to a lot of repetitive work, and just replicate the existing job on the
platform, and slightly modify the running parameters of the program in order to
submit a new job!
+
+
+
+Of course, there are more, not to list here, StreamPark in the use of simple
enough to use, within minutes you can get started to use, the function is
focused enough to be reliable, the introduction of StreamPark to solve the
problem we face in managing Flink jobs, bringing real convenience,
significantly improve the efficiency of the people, to give the creative team a
great praise!
+
+## **Problems encountered**
+
+In the StreamPark landing practice, we also encountered some problems, which
are documented here, expecting to bring some inputs and references to the users
in the community.
+
+### **Huawei Cloud has compatibility issues with open source Hadoop**
+
+Our jobs are in Flink on Yarn mode and deployed in Huawei Cloud. During the
process of using StreamPark to deploy jobs, we found that the jobs can be
successfully deployed to Huawei Hadoop cluster, but the request for Yarn
ResourceManager was rejected when getting the job status information, so we
communicated with the community in time to find a solution, and logged the
issue.
+https://github.com/apache/incubator-streampark/issues/3566
+
+We communicated with the community to seek a solution, and recorded the issue:
. Finally, with the assistance of Mr. Huajie, a community PMC member, and
Huawei Cloud students, we successfully resolved the issue: StreamPark could not
access the cloud ResourceManager properly due to the internal security
authentication mechanism of the cloud product itself.
+
+Solution (for reference only - add different dependencies according to
different environments)
+
+Remove two HADOOP related packages from the STREAMPARK_HOME/lib directory:
+
+```shell
+hadoop-client-api-3.3.4.jar
+hadoop-client-runtime-3.3.4.jar
+```
+
+Replace the following Huawei Cloud HADOOP dependencies.
+
+```shell
+commons-configuration2-2.1.1.jar
+commons-lang-2.6.0.wso2v1.jar
+hadoop-auth-3.1.1-hw-ei-xxx.jar
+hadoop-common-3.1.1-hw-ei-xxx.jar
+hadoop-hdfs-client-3.1.1-hw-ei-xxx.jar
+hadoop-plugins-8.1.2-xxx.jar
+hadoop-yarn-api-3.1.1-hw-ei-xxx.jar
+hadoop-yarn-client-3.1.1-hw-ei-xxx.jar
+hadoop-yarn-common-3.1.1-hw-ei-xxx.jar
+httpcore5-h2-5.1.5.jar
+jaeger-core-1.6.0.jar
+mysql-connector-java-8.0.28.jar
+opentracing-api-0.33.0.jar
+opentracing-noop-0.33.0.jar
+opentracing-util-0.33.0.jar
+protobuf-java-2.5.0.jar
+re2j-1.7.jar
+stax2-api-4.2.1.jar
+woodstox-core-5.0.3.jar
+```
+
+### **Other Bugs**
+
+In the process of intensive use, we also found some problems. In order to
better improve and optimize StreamPark's functionality, we have come up with
some specific suggestions and solutions, such as:
+
+- **Dependency conflict**: conflict resolution when loading Flink dependencies
(see: Pull Request #3568).
+
+- **Service Stability**: Intercept user program JVM exits to prevent the
StreamPark platform from exiting abnormally due to user programs (see: Pull
Request #3659).
+
+- **Resource Optimization**: In order to reduce the burden on resources, we
limit the number of concurrent StremaPark builds, and control the maximum
number of builds through configuration parameters (see: Pull Request #3696).
+
+## **Benefits derived**
+
+Apache StreamPark has brought us significant benefits,**mainly in its one-stop
service capability, which enables business developers to complete the
development, compilation, submission and management of Flink jobs** on a
unified platform. It greatly saves our time on Flink job development and
deployment, significantly improves development efficiency, and realizes
full-process automation from user rights management to Git deployment, task
submission, alerting, and automatic recovery, eff [...]
+
+
+
+Currently on the Tianyancha platform, specific results from StreamPark include:
+
+- Real-time job go-live and test deployment processes are simplified by
**70%**.
+
+- The operation and maintenance costs of real-time jobs have been reduced by
**80%**, allowing developers to focus more on code logic.
+
+- Alert timeliness has improved by more than **5x**, from minutes to seconds,
enabling task exceptions to be sensed and handled within **5 seconds**.
+
+- StreamPark automatically recovers from task failures without human
intervention.
+
+- The integration of GitLab with StreamPark simplifies the process of
compiling projects and submitting jobs, dramatically reducing development and
maintenance costs.
+
+## **Future planning**
+
+In the future, we plan to migrate all 300+ Flink jobs deployed on our internal
real-time computing platform and 500+ Flink jobs maintained in other ways to
StreamPark for unified management and maintenance. When we encounter some
optimization or enhancement points in the future, we will communicate with the
community developers in a timely manner and contribute to the community, so as
to make StreamPark easier and more usable! We will make StreamPark easier and
better to use.
+
+At the end of this article, we would like to thank the Apache Streampark
community, especially Mr. Huajie, a member of the PMC, for his continuous
follow-up and valuable technical support during the process of using
StreamPark, and we deeply feel the serious attitude and enthusiasm of the
Apache StreamPark community. We are also very grateful to Huawei Cloud students
for their support and troubleshooting on cloud deployment.
+
+We look forward to continuing our cooperation with the StreamPark community in
the future to jointly promote the development of real-time computing
technology, and hope that StreamPark will do better and better in the future,
and graduate to become a representative of the new Apache project soon!
+
+
+
+
+
+
+
+
+
+
+
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-blog/11-streampark-usercase-tianyancha.md
b/i18n/zh-CN/docusaurus-plugin-content-blog/11-streampark-usercase-tianyancha.md
new file mode 100644
index 00000000..ab11939d
--- /dev/null
+++
b/i18n/zh-CN/docusaurus-plugin-content-blog/11-streampark-usercase-tianyancha.md
@@ -0,0 +1,197 @@
+---
+slug: streampark-usercase-tianyancha
+title: Apache StreamPark™ 助力天眼查实时平台建设|效率数倍提升
+tags: [StreamPark, 生产实践]
+---
+
+
+
+**导读**:本文主要介绍天眼查在实时计算业务近千个 Flink 作业运维时面临作业开发和管理上的挑战,通过引入 Apache StreamPark
来解决这些挑战,介绍了在引入 StreamPark 落地过程中遇到的一些问题以及如何解决这些问题并成功落地,最后极大地降低运维成本,显著地提升人效。
+
+Github: https://github.com/apache/streampark
+
+欢迎关注、Star、Fork,参与贡献
+
+供稿单位 | 北京天眼查
+
+文章作者 | 李治霖
+
+文章整理 | 杨林伟
+
+内容校对 | 潘月鹏
+
+<!-- truncate -->
+
+天眼查是中国领先的商业查询平台。自 2014 年创立以来,天眼查持续保持高速增长,行业渗透率超过 77%,月活跃用户数高达 3500 万,累计用户数 6
亿+,“天眼一下”已成为商业领域的超级符号,是首批获得央行备案企业征信资质的公司之一。经过公司多年深耕,平台共收录全国 3.4 亿、全球 6.4
亿社会实体,1000 多种商查信息维度实时更新,成为企业客户和个人用户商业查询的首选品牌。
+
+
+
+本文将介绍天眼查实时计算业务面临的挑战,如何通过 Apache StreamPark 平台来解决这些挑战,以及带来的显著效益和未来规划。
+
+## **业务背景与挑战**
+
+天眼查有着庞大的用户基础和多样的业务维度,我们通过 Apache Flink
这一强大的实时计算引擎,为用户提供更优质的产品和服务体验,我们的实时计算业务主要涵盖以下几个场景:
+
+- 实时数据 ETL 处理和数据传输。
+
+- C 端维度数据统计,包括用户行为、PV/UV 分析。
+
+- C 端业务数据与工商信息、风险信息、产权、股权、股东、案件等信息的实时关联分析。
+
+随着天眼查业务的快速发展,实时作业目前已增至 800 +,未来很快会上千,面对这么大体量的作业、在开发和管理上都遇到了挑战,大致如下:
+
+- **作业运维困难**:作业覆盖多个 Flink 版本,多版本 Flink 作业的运行和升级因 API
变动而成本高昂,且作业提交和参数调优依赖于复杂脚本,极大增加了维护难度和成本。
+
+- **作业开发低效**:从本地 IDE 调试到测试环境部署,需经过编译、文件传输和命令执行等繁琐步骤,耗时且影响效率。
+
+- **缺乏自动重试机制**:实时业务的多表关联操作易受网络和 IO 波动影响,导致 Flink 程序故障,需手动或额外程序介入恢复,增加了开发和维护成本。
+
+- **维护成本高昂**:缺少集中化的日志、版本控制和配置管理工具,随着任务量上升,维护大量 JAR 包、提交脚本和 Flink 客户端配置变得日益复杂。
+
+
+
+## **StreamPark 落地实践**
+
+为了解决上述问题,我司决定引入 StreamPark。我们在 StreamPark 项目刚开源的时候就开始关注,当时项目名还是
StreamX,此后也在一直密切关注着项目的发展,见证了其从开源到加入 Apache
软件基金会孵化的过程,其社区活跃度、用户口碑、发版次数等各项表现都很不错,有大量企业的真实使用案例,这增强了我们对 StreamPark 信心,因此引入
StreamPark 是自然而然的事情,我们尤其关注以下可以解决我们痛点的能力:
+
+- **Git 式项目管理**:为作业提供了便捷的版本控制和部署流程。
+
+- **强大的作业运维能力**:显著提升了作业的管理和维护效率。
+
+- **精确的秒级告警系统**:提供了实时监控和快速响应能力。
+
+- **一站式任务开发平台**:为开发、测试和部署提供有力保障
+
+### **1. Git 式项目管理**
+
+天眼查 90% 以上都是 JAR 作业,管理几百个JAR 作业是很头疼的问题,为了方便维护和管理先前我们通过 “开发人员名称-项目名称-模块-环境”
进行命名 JAR 文件名,这样带来了另一个问题,没办法直观区分要维护的作业在那个模块,如果非 owner
维护此作业得通过项目文档和代码来查看逻辑,需要找到项目代码与对应分支、作业的启动脚本等,这样大幅度增加开发人员工作量。
+
+在 StreamPark 中我们惊喜地发现有项目管理功能,类似于 Git
集成,可以很好的解决了我们的痛点,我们通过简化的命名规范,实现了项目、人员、分支和环境的隔离。现在,我们能够瞬间定位到任意作业的代码和文档,极大提高了作业的可维护性和开发效率,显著提升了我们的运维效率。
+
+
+
+### **2. 秒级精确告警和自动运维**
+
+下面是我们一个 Flink 线上的任务,在查询过程中访问第三方端时,发生 Connection Time out 等错误(备注:本身 Flink
设置重启策略间隔重启三次,但最终还是失败)
+
+
+
+如上图,当收到任务告警时,我们开发同学在群里回复 1 的时候,我们发现**作业已经成功被 StreamPark 拉起,只用不到 15
秒就完成了作业的重新提交和运行**!
+
+### **3. 平台用户权限管控**
+
+StreamPark 提供了一套完善的权限管理机制,使得我们可以在 StreamPark
平台上对作业和用户进行精细的权限管理,有效避免了因用户权限过大而可能发生的误操作,减少了对作业运行稳定性和环境配置准确性的影响,对于企业级用户来说,这样的管理机制是非常必要的。
+
+
+
+### **4. Flink SQL 在线开发**
+
+对于许多开发场景中需要提交 Flink SQL 作业的情况,现在我们可以完全摆脱在 IDEA 中编写代码的繁琐步骤。只需使用 StreamPark
平台,**就能轻松实现 Flink SQL 作业的开发**,以下是一个简单的案例。
+
+
+
+### **5. 完善的作业管理能力**
+
+StreamPark 还有更加完善的作业操作记录,对于一些提交时异常的作业,现可完全通过平台化查看失败日志,包括历史日志信息等。
+
+
+
+当然,StreamPark 还为我们提供了更加完善且友好的任务管理界面,可以直观地看到任务的运行情况。
+
+
+
+我们企业内部实时项目是高度抽象化代码开发的作业,每次开发新作业只需要修改一些外部传入的参数即可,通过 StreamPark
复制作业功能让我们告别了很多重复性工作,只需要在平台上复制已有作业,略微修改程序运行参数就可以提交一个新的作业!
+
+
+
+当然还有更多,这里就不一一列举了,StreamPark 在使用上足够的简单易用,分钟内即可上手使用,功能上足够的专注可靠,引入 StreamPark
以来解决了我们管理 Flink 作业面临的难题,带来了实实在在的方便,显著地提高了人效,给主创团队一个大大的赞!
+
+## **遇到的问题**
+
+在 StreamPark 落地实践中,我们也遇到了一些问题,这里记录下来,期望给社区的用户带来一些输入和参考。
+
+### **华为云与开源 Hadoop 存在兼容问题**
+
+我们的作业都是 Flink on Yarn 模式,部署在华为云。在使用 StreamPark 部署作业的过程中发现作业可以成功部署到华为 Hadoop
集群,但是获取作业状态信息时请求 Yarn ResourceManager 被拒绝,我们及时和社区沟通,寻求解决方案,并且记录了 issue:
+https://github.com/apache/incubator-streampark/issues/3566
+
+最后在社区 PMC 成员华杰老师和华为云同学的协助下,成功解决了问题:由于云产品本身内部的安全认证机制导致 StreamPark 无法正常访问云
ResourceManager。
+
+解决方案 (仅供参考 - 根据不同环境添加不同依赖)
+
+将 STREAMPARK_HOME/lib 目录中 HADOOP 相关两个包删除:
+
+```shell
+hadoop-client-api-3.3.4.jar
+hadoop-client-runtime-3.3.4.jar
+```
+
+替换以下华为云 HADOOP 依赖:
+
+```shell
+commons-configuration2-2.1.1.jar
+commons-lang-2.6.0.wso2v1.jar
+hadoop-auth-3.1.1-hw-ei-xxx.jar
+hadoop-common-3.1.1-hw-ei-xxx.jar
+hadoop-hdfs-client-3.1.1-hw-ei-xxx.jar
+hadoop-plugins-8.1.2-xxx.jar
+hadoop-yarn-api-3.1.1-hw-ei-xxx.jar
+hadoop-yarn-client-3.1.1-hw-ei-xxx.jar
+hadoop-yarn-common-3.1.1-hw-ei-xxx.jar
+httpcore5-h2-5.1.5.jar
+jaeger-core-1.6.0.jar
+mysql-connector-java-8.0.28.jar
+opentracing-api-0.33.0.jar
+opentracing-noop-0.33.0.jar
+opentracing-util-0.33.0.jar
+protobuf-java-2.5.0.jar
+re2j-1.7.jar
+stax2-api-4.2.1.jar
+woodstox-core-5.0.3.jar
+```
+
+### **其他 BUG**
+
+在深入使用的过程中,我们也发现了一些问题。为了更好地改善与优化 StreamPark 的功能,我们提出了一些具体的建议和解决方案,例如:
+
+- **依赖冲突**:加载 Flink 依赖时出现冲突的解决(详见:Pull Request #3568)。
+
+- **服务稳定性**:拦截用户程序 JVM 退出,防止 StreamPark 平台因用户程序异常退出(详见:Pull Request #3659)。
+
+- **资源优化**:为减轻资源负担,限制 StremaPark 构建项目的并发数,通过配置参数来控制项目最大构建数量(详见:Pull Request
#3696)。
+
+## **带来的收益**
+
+Apache StreamPark 为我们带来了显著的收益,**主要体现在其一站式服务能力,使得业务开发人员能够在一个统一的平台上完成 Flink
作业的开发、编译、提交和管理**。极大地节省了我们在 Flink 作业开发和部署上的时间,显著地提升了开发效率,并实现了从用户权限管理到 Git
部署、任务提交、告警、自动恢复的全流程自动化,有效解决了 Apache Flink 运维的复杂性。
+
+
+
+目前在天眼查平台,StreamPark 带来的具体成效包括:
+
+- 实时作业上线和测试部署流程简化了 **70%** 。
+
+- 实时作业的运维成本降低了 **80%**,开发人员可以更专注于代码逻辑 。
+
+- 告警时效性提高了 **5倍** 以上,从分钟级降低到秒级,实现了 **5秒内** 感知并处理任务异常。
+
+- 对于任务失败,StreamPark 能够自动恢复,无需人工干预。
+
+- 通过 GitLab 与 StreamPark 的集成,简化了编译项目和作业提交流程,大幅降低了开发和维护成本。
+
+## **未来规划**
+
+未来我们计划将内部自研实时计算平台上部署的 300+ Flink 作业和其他方式维护的 500+ Flink 作业全部迁移至 StreamPark
进行统一管理维护,后续遇到一些可优化或可增强功能点,我们会及时与社区开发人员沟通并回馈贡献社区,让 StreamPark 变得更易用、更好用。
+
+在本文的最后,我们衷心感谢 Apache Streampark 社区,特别是 PMC 成员华杰老师,在我们使用 StreamPark
过程中持续地跟进,提供了宝贵的技术支持,我们深刻感受到 Apache StreamPark
社区认真的态度和热情。同时也非常感谢华为云同学在云部署上支持与问题排查。
+
+我们期待未来与 StreamPark 社区继续合作,共同推动实时计算技术的发展,期望 StreamPark 在未来做得越来越好,早日毕业成为新晋
Apache 项目的代表!
+
+
+
+
+
+
+
+
+
+
diff --git a/static/blog/tianyancha/alarm.png b/static/blog/tianyancha/alarm.png
new file mode 100644
index 00000000..9720adf7
Binary files /dev/null and b/static/blog/tianyancha/alarm.png differ
diff --git a/static/blog/tianyancha/challenges.png
b/static/blog/tianyancha/challenges.png
new file mode 100644
index 00000000..474a52e4
Binary files /dev/null and b/static/blog/tianyancha/challenges.png differ
diff --git a/static/blog/tianyancha/earnings.png
b/static/blog/tianyancha/earnings.png
new file mode 100644
index 00000000..9f1ad5d4
Binary files /dev/null and b/static/blog/tianyancha/earnings.png differ
diff --git a/static/blog/tianyancha/enterprise.png
b/static/blog/tianyancha/enterprise.png
new file mode 100644
index 00000000..fce2c7eb
Binary files /dev/null and b/static/blog/tianyancha/enterprise.png differ
diff --git a/static/blog/tianyancha/git.png b/static/blog/tianyancha/git.png
new file mode 100644
index 00000000..9e3ddceb
Binary files /dev/null and b/static/blog/tianyancha/git.png differ
diff --git a/static/blog/tianyancha/historical_logs.png
b/static/blog/tianyancha/historical_logs.png
new file mode 100644
index 00000000..0bd7e5f4
Binary files /dev/null and b/static/blog/tianyancha/historical_logs.png differ
diff --git a/static/blog/tianyancha/new_cover.png
b/static/blog/tianyancha/new_cover.png
new file mode 100644
index 00000000..499a916b
Binary files /dev/null and b/static/blog/tianyancha/new_cover.png differ
diff --git a/static/blog/tianyancha/permissions.png
b/static/blog/tianyancha/permissions.png
new file mode 100644
index 00000000..bfd7f5c2
Binary files /dev/null and b/static/blog/tianyancha/permissions.png differ
diff --git a/static/blog/tianyancha/sql_job.png
b/static/blog/tianyancha/sql_job.png
new file mode 100644
index 00000000..524b1ba0
Binary files /dev/null and b/static/blog/tianyancha/sql_job.png differ
diff --git a/static/blog/tianyancha/successful.png
b/static/blog/tianyancha/successful.png
new file mode 100644
index 00000000..97cb30f6
Binary files /dev/null and b/static/blog/tianyancha/successful.png differ
diff --git a/static/blog/tianyancha/task_management.png
b/static/blog/tianyancha/task_management.png
new file mode 100644
index 00000000..23f8a471
Binary files /dev/null and b/static/blog/tianyancha/task_management.png differ