# StreamX
**Repository Path**: guoqinx/streamx
## Basic Information
- **Project Name**: StreamX
- **Description**: 一个神奇的框架,让Flink&Spark开发更简单!一站式大数据实时平台.
- **Primary Language**: Scala
- **License**: Apache-2.0
- **Default Branch**: dev
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 380
- **Created**: 2022-06-05
- **Last Updated**: 2022-06-05
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
Make stream processing easier!!!
**[官网](http://www.streamxhub.com)** |
**[更新日志](#)** |
**[使用文档](https://www.streamxhub.com/zh-CN/docs/intro)**
#### [English](README.md) | 中文
# StreamX
Make stream processing easier
> 一个神奇的框架,让流处理更简单
## 🚀 什么是StreamX
实时即未来, 在实时处理流域 `Apache Spark` 和 `Apache Flink` 是一个伟大的进步,尤其是 `Apache Flink` 被普遍认为是下一代大数据流计算引擎, 我们在使用 `Flink` & `Spark` 时发现从编程模型, 参数配置到项目部署, 运维管理都有很多可以抽象共用的地方,
我们将一些好的经验固化下来并结合业内的最佳实践, 通过不断努力终于诞生了今天的框架 —— `StreamX`, 项目的初衷是 —— 让流处理更简单, 使用 `StreamX` 开发, 可以极大降低学习成本和开发门槛, 让开发者只用关心最核心的业务, `StreamX` 规范了项目的配置,
鼓励函数式编程, 定义了最佳的编程方式, 提供了一系列开箱即用的 `Connectors`, 标准化了配置、开发、测试、部署、监控、运维的整个过程, 提供了 Scala/Java 两套 api, 其最终目的是打造一个一站式大数据平台, 流批一体,湖仓一体的解决方案
[](http://assets.streamxhub.com/streamx-video.mp4)
## 🎉 Features
* 开发脚手架
* 一系列开箱即用的connectors
* 支持项目编译功能(maven 编译)
* 在线参数配置
* 多版本flink支持(1.12.x,1.13.x,1.14.x)
* Scala 2.11 / 2.12 支持
* restapi 支持
* 快捷的日常操作(任务`启动`、`停止`、`savepoint`,从`savepoint`恢复)
* Flink所有部署模式的支持(`Remote`/`K8s-Native-Application`/`K8s-Native-Session`/`YARN-Application`/`YARN-Per-Job`/`YARN-Session`)
* 快捷的日常操作(任务`启动`、`停止`、`savepoint`,从`savepoint`恢复)
* 稳定可靠,诸多公司和组织将 `StreamX` 用于生产和商业产品中
* 支持火焰图
* 支持 `notebook` (在线任务开发)
* 项目配置和依赖版本化管理
* 支持任务备份、回滚(配置回滚)
* 在线管理依赖(maven pom)和自定义jar
* 自定义 udf、连接器等支持
* Flink SQL WebIDE
* 支持 Catalog、Hive
* 从任务`开发`阶段到`部署管理`全链路支持
* ...


## 🏳🌈 组成部分
`Streamx` 由三部分组成,分别是 `streamx-core`,`streamx-pump` 和 `streamx-console`

### 1️⃣ streamx-core
`streamx-core` 定位是一个开发时框架,关注编码开发,规范了配置文件,按照约定优于配置的方式进行开发,提供了一个开发时 `RunTime Content` 和一系列开箱即用的 `Connector`
,扩展了 `DataStream` 相关的方法,融合了`DataStream` 和 `Flink sql` api,简化繁琐的操作,聚焦业务本身,提高开发效率和开发体验
### 2️⃣ streamx-pump
`pump` 是抽水机,水泵的意思,`streamx-pump` 的定位是一个数据抽取的组件,类似于 `flinkx`,基于`streamx-core` 中提供的各种 `connector`
开发,目的是打造一个方便快捷,开箱即用的大数据实时数据抽取和迁移组件,并且集成到 `streamx-console` 中,解决实时数据源获取问题,目前在规划中
### 3️⃣ streamx-console
`streamx-console` 是一个综合实时数据平台,低代码(`Low Code`)平台,可以较好的管理`Flink`任务,集成了项目编译、发布、参数配置、启动、`savepoint`,火焰图(`flame graph`)
,`Flink SQL`, 监控等诸多功能于一体,大大简化了 `Flink` 任务的日常操作和维护,融合了诸多最佳实践。旧时王谢堂前燕,飞入寻常百姓家,让大公司有能力研发使用的项目,现在人人可以使用,
其最终目标是打造成一个实时数仓,流批一体的一站式大数据解决方案,该平台使用但不仅限以下技术:
* [Apache Flink](http://flink.apache.org)
* [Apache YARN](http://hadoop.apache.org)
* [Spring Boot](https://spring.io/projects/spring-boot/)
* [Mybatis](http://www.mybatis.org)
* [Mybatis-Plus](http://mp.baomidou.com)
* [Flame Graph](http://www.brendangregg.com/FlameGraphs)
* [JVM-Profiler](https://github.com/uber-common/jvm-profiler)
* [Vue](https://cn.vuejs.org/)
* [VuePress](https://vuepress.vuejs.org/)
* [Ant Design of Vue](https://antdv.com/)
* [ANTD PRO VUE](https://pro.antdv)
* [xterm.js](https://xtermjs.org/)
* [Monaco Editor](https://microsoft.github.io/monaco-editor/)
* ...
感谢以上优秀的开源项目和很多未提到的优秀开源项目,致以最崇高的敬意,感谢 [Apache Flink](http://flink.apache.org) 创造了一个了不起的项目! 感谢 [Apache Zeppelin](http://zeppelin.apache.org) 早期给予的灵感,感谢我老婆在项目开发时给予的支持,悉心照顾我的生活和日常,给予我足够的时间开发这个项目!
### 🚀 快速上手
请查看[官网文档](http://www.streamxhub.com/zh/doc/)了解更多信息
## 💋 谁在使用
诸多公司和组织将 StreamX 用于研究、生产和商业产品中, 如果您也在使用 ? 可以在[这里添加](https://github.com/streamxhub/streamx/issues/163)

## 🏆 我们的荣誉
我们获得了一些珍贵的荣誉, 这份荣誉属于参加建设 StreamX 的每一位朋友, 谢谢大家!


## 🤝 我要贡献
[](https://github.com/streamxhub/streamx/pulls)
如果你希望参与贡献 欢迎 [Pull Request](https://github.com/streamxhub/streamx/pulls),或给我们 [报告 Bug](https://github.com/streamxhub/streamx/issues/new/choose)。
> 强烈推荐阅读 [《提问的智慧》](https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way)(**本指南不提供此项目的实际支持服务!**)、[《如何有效地报告 Bug》](http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html)、[《如何向开源项目提交无法解答的问题》](https://zhuanlan.zhihu.com/p/25795393),更好的问题更容易获得帮助。
感谢所有向 StreamX 贡献的朋友!
## ⏰ Contributor Over Time
[](https://git-contributor.com?chart=contributorOverTime&repo=streamxhub/streamx)
## 💰 我要捐助
Are you **enjoying this project** ? 👋
StreamX 采用 Apache LICENSE 2.0 许可的开源项目,使用完全免费, 旧时王谢堂前燕,飞入寻常百姓家,让大公司有能力研发使用的项目,现在人人都可以使用,流批一体,湖仓一体,数据湖是大数据领域的趋势,
StreamX现在离这个目标还有一段距离,还需持续投入,相应的资金支持能更好的持续项目的维护和开发。你可以通过下列的方法来赞助 StreamX 的开发, 欢迎捐助,一起来帮我们做的更好! ☀️ 👊
| 微信支付 | 支付宝 |
|:----------|:----------|
|
|
|
> 所有赞助人将在赞助人名单中显示。
## 🏆 我的赞助
### 💜 月度赞助商
虚席以待,欢迎个人和企业前来赞助,您的支持会帮助我们更好的发展项目
### 🥇 金牌赞助商
### 🥈 白金赞助商
### 🥈 白银赞助商
感谢 [JetBrains](https://www.jetbrains.com/?from=streamx) 提供的免费开源 License 赞助
[](https://www.jetbrains.com/?from=streamx)
## 💬 加入社区
`Streamx` 已正式开源,现已经进入高速发展模式,如果您觉得还不错请在右上角点一下 `star`,帮忙转发,谢谢 🙏🙏🙏 大家的支持是开源最大动力,
你可以扫下面的二维码加入官方微信群,更多相关信息请访问[官网](http://www.streamxhub.com/#/)
