StreamingPro

Declarative workflows for building Spark Streaming

Spark Streaming

Spark Streaming is an extension of the core Spark API that enables stream processing from a variety of sources.Spark is a extensible and programmable framework for massive distributed processing of datasets,called Resilient Distributed Datasets (RDD). Spark Streaming receives input data streams and divides the data into batches, which are then processed by the Spark engine to generate the results.Spark Streaming data is organized into a sequence of DStreams,represented internally as a sequence of RDDs.

StreamingPro

StreamingPro is not a complete application, but rather  a extensible and programmable framework for spark streaming (also include spark,storm)that can easily be used to build your streaming application.

StreamingPro also make it possible that all you should do to build streaming program is assembling components(eg. SQL Component) in configuration file. 

Features

  • Pure Spark Streaming(Or normal Spark) program (Storm in future)
  • No need of coding, only declarative workflows
  • Rest API for interactive
  • SQL-Oriented workflows support  
  • Data continuously streamed in & processed in near real-time
  • dynamically CURD of workflows  at runtime via Rest API 
  • Flexible workflows (input, output, parsers, etc...) 
  • High performance
  • Scalable   

Documents

Architecture

Snip20160510_3.png

Declarative workflows

Snip20160510_4.png

Implementation

Snip20160510_1.png

时间: 2024-07-31 16:13:05

StreamingPro的相关文章

StreamingPro使用教程

准备工作 下载Spark 1.6.2 下载StreamingPro 我们假设你下载的StreamingPro包在/tmp目录下. 复制如下模板 { "esToCsv": { "desc": "测试", "strategy": "streaming.core.strategy.SparkStreamingStrategy", "algorithm": [], "ref"

StreamingPro 再次支持 Structured Streaming

前言 之前已经写过一篇文章,StreamingPro 支持Spark Structured Streaming,不过当时只是玩票性质的,因为对Spark 2.0+ 版本其实也只是尝试性质的,重点还是放在了spark 1.6 系列的.不过时间在推移,Spark 2.0+ 版本还是大势所趋.所以这一版对底层做了很大的重构,StreamingPro目前支持Flink,Spark 1.6+, Spark 2.0+ 三个引擎了. 准备工作 下载streamingpro for spark 2.0的包,然后

StreamingPro 支持多输入,多输出配置

前言 最近正好有个需求,就是从不同的数据库以及表里拉出数据,经过一定的处理放到ES里供查询,最好还能放个到parquet里,这样可以支持更复杂的SQL.之前StreamingPro是只能配置一个数据源的,所以做了些改造,方便配置多个数据源,以及多个写出. 最新的下载地址: https://pan.baidu.com/s/1eRO5Wga依然的,比较大,因为现在他还能支持Thrift JDBC /Rest SQL: 使用StreamingPro 快速构建Spark SQL on CarbonDat

StreamingPro添加Scala script 模块支持

SQL 在解析字符串方面,能力还是有限,因为支持的算子譬如substring,split等有限,且不具备复杂的流程表达能力.我们内部有个通过JSON描述的DSL引擎方便配置化解析,然而也有一定的学习时间成本. 我们当然可以通过SQL的 UDF函数等来完成字符串解析,在streamingpro中也很简单,只要注册下你的UDF函数库即可: "udf_register": { "desc": "测试", "strategy": &q

StreamingPro 简化流式计算配置

前言 前些天可以让批处理的配置变得更优雅StreamingPro 支持多输入,多输出配置,现在流式计算也支持相同的配置方式了. 另外未来等另外一个项目稳定,会释放出来配合StreamingPro使用,它可以让你很方便的读写HBase,比如可以为HBase 表 添加mapping,类似ES的做法,也可以不用mapping,系统会自动为你创建列(familly:column作为列名),或者将所有列合并成一个字段让你做处理. 配置 首先需要配置源: { "name": "strea

使用StreamingPro 快速构建Spark SQL on CarbonData

前言 CarbonData已经发布了1.0版本,变更还是很快的,这个版本已经移除了kettle了,使得部署和使用 变得很简单,而且支持1.6+ ,2.0+等多个Spark版本. StreamingPro可以使得你很简单通过一个命令就能体验Carbondata,并且支持Http/JDBC的访问形态. 下载Spark发行版 比如我下载后的版本是这个: spark-1.6.3-bin-hadoop2.6. 下载StreamingPro 地址在这: https://pan.baidu.com/s/1eR

StreamingPro支持Flink的流式计算了

前言 有的时候我们只要按条处理,追求实时性而非吞吐量的时候,类似Storm的模式就比较好了.Spark 在流式处理一直缺乏改进,而Flink在流式方面做得很棒,两者高层的API也是互相借鉴,容易形成统一的感官,所以决定让StreamingPro适配Flink,让其作为StreamingPro底层的流式引擎. StreamingPro自身设计之初就是为了支持多引擎的,所以改造成本很低,昨天花了一下午,晚上加了会班就重构完了.这次增强可以让我司的流式引擎有了新的选择. 准备工作 下载安装包 为了跑起

StreamingPro 支持Spark Structured Streaming

前言 Structured Streaming 的文章参考这里:Spark 2.0 Structured Streaming 分析.2.0的时候只是把架子搭建起来了,当时也只支持FileSource(监控目录增量文件),到2.0.2后支持Kafka了,也就进入实用阶段了,目前只支持0.10的Kafka.Structured Streaming 采用dataframe API,并且对流式计算重新进行了抽象,个人认为Spark streaming 更灵活,Structured Streaming 在

StreamingPro 可以暴露出原生API给大家使用

我们知道StreamingPro 是一个完全SQL/Script化的,基于Spark平台的一套生产力工具.但是不可避免的,我们可能希望直接操作SqlContext或者使用原生的DataFrame API. 这里我们通过script 让大家支持这个功能: { "name": "batch.script.df", "params": [ { "script": "context.sql(\"select a a

如何在命令行中指定StreamingPro的写入路径

如何命令行指定输如输出的参数? 下面有个输出的例子: { "name": "stream.outputs", "params": [ { "name":"jack", "format": "jdbc", "path": "-", "driver":"com.mysql.jdbc.Driver&quo