大数据相关软件Sylph、Jupyter Notebook、SpinalTap介绍

以下为你介绍的大数据相关软件都可用在Linux系统上:Sylph(一站式流计算平台)、Jupyter Notebook(Web 交互式计算笔记本平台)、SpinalTap(变更数据捕获服务)。

1、Sylph(一站式流计算平台)

简介:

Sylph 被定位为大数据生态中的一站式流计算平台,您可以使用它来开发、管理、监控、运维您的流计算。

什么没看懂?没关系apache-hive您总听过吧?(如果依然不知道,那么您最先需要看下最基础的hadoop三件套Hdfs、Yarn、Hive(MapReduce))

hive将您编写的hive-sql转换成分布式MR批计算Job(默认engine),然后自动在Hadoop-Yarn上执行,那么Sylph就是将Stream-Sql转换成分布式(Flink、…)流计算Job,然后同样自动在Hadoop-Yarn上执行。

您可以形象的把它比喻为Stream-Hive。

demo:

我们来看一个简单导航demo:

-- 注册json解析 udf

create function get_json_object as 'ideal.sylph.runner.flink.udf.UDFJson';

-- 定义数据流接入

create input table topic1(    

_topic varchar,    

_key varchar,    

_message varchar,    

_partition integer,   

_offset bigint

) with (

type = 'kafka',

kafka_topic = 'TP_A_1,TP_A_2',

"auto.offset.reset" = latest,

kafka_broker = 'localhost:9092',

kafka_group_id = 'streamSql_test1'

);

-- 定义数据流输出位置

create output table event_log(    

key varchar,    

user_id varchar,    

event_time bigint

) with (    

type = 'hdfs',   -- write hdfs    

hdfs_write_dir = 'hdfs:///tmp/test/data/xx_log',    

eventTime_field = 'event_time',    

format = 'parquet'

);

-- 描述计算逻辑

insert into event_log 

select _key,get_json_object(_message, 'user_id') as user_id,

cast(get_json_object(_message, 'event_time') as bigint) as event_time 

from topic1

快速了解:

快速两部了解sylph两步走:

第一步:您只需编写好Stream Sql,然后Sylph会编译您的sql,将其翻译成具体的物理计算引擎。

第二步:然后你接下来只需点击任务上线,然后sylph就会将这个分布式流计算任务提交到Hadoop-Yarn上运行。到此,你的大数据分布式流计算程序已经上线了,接下来您可以直接在sylph的代理页面查看您的job,了解下参数情况等,可以在这里管理和杀死job。

对了如果您的分布式job挂了,那么sylph还会尝试重新期待并恢复它。

简要设计:

下面我将列出一些主要的特性,这里先简单看下sylph的设计:

大数据相关软件Sylph、Jupyter Notebook、SpinalTap介绍

特性盘点:

1],如上所诉您已经出窥了一些sylph一站式方面的特性。

2],Stream SQL支持。

3],connector-plugin层提供统一抽象层,随着时间推移我们会有非常多稳定connector供你选择,如果您选择自己编码那么您的代码逻辑甚至无需做改动,就可以同时支持Flink、Spark等引擎。

4],Stream SQL支持支持Watermark技术,注:Apache Flink-Table-SQL目前还不支持。

5],支持批流维表join(俗称打宽),注:Apache Flink-Table-SQL目前还不支持。

6],Stream SQL支持同时支持基于Prscess Time和 Event Time两种语义进行计算,注:Apache Flink-Table-SQL目前还不支持。

写给未来:

未来我们会添加local模式、on ks8等模式,因为一站式的原因,您甚至无做任何业务代码修改就可以非常容易进行过渡和升级,并且local模式可能会在没有hadoop的边缘计算场景中带来价值。

下载地址:https://gitee.com/idela-hp/sylph

2、Jupyter Notebook(Web 交互式计算笔记本平台)

Jupyter Notebook 是一个基于 Web 的交互式计算笔记本环境。

大数据相关软件Sylph、Jupyter Notebook、SpinalTap介绍

Jupyter Notebook 允许用户创建和共享各种内容,包括实时代码、方程式、可视化和叙述文本的文档。它的用途包括:数据清理和转换、数值模拟、统计建模、数据可视化与机器学习等。

特点:

支持 40 多种编程语言,包括 Python、R、Julia 和 Scala。

可以使用电子邮件、Dropbox、GitHub 和 Jupyter Notebook Viewer 与他人共享笔记本。

编写的代码可以多种丰富的形式输出:HTML、图像、视频、LaTeX 和自定义 MIME。

大数据集成。

安装:

对于本地安装,请确保已安装并运行pip,然后运行以下命令安装:

$ pip install notebook

用法:

在本地安装中运行,启动方式:

$ jupyter notebook

下载地址:https://github.com/jupyter/notebook

3、SpinalTap(变更数据捕获服务)

SpinalTap —— 通用可靠的变更数据捕获(Change Data Capture: CDC)服务。

SpinalTap 是一种可扩展、高性能、可靠、无损的变更数据捕获(CDC)服务,能够检测跨不同数据源类型的低延迟的数据突变,并将它们作为标准化事件传播给下游的消费者。SpinalTap 已经成为 Airbnb 基础架构和衍生数据处理平台中不可或缺一部分,几个关键应用流水线都依赖于此。

变更数据捕获(CDC)是一种设计模式,可以捕获数据更改并通知参与者,以便他们做出相应的反应。这遵循发布—订阅模型,其中数据集的更改是关键。

工作流程概述如下图所示:

大数据相关软件Sylph、Jupyter Notebook、SpinalTap介绍

建立SpinalTap独立JAR:

cd spinaltap-standalone

../gradlew shadowjar

下载地址:https://github.com/airbnb/SpinalTap

注明

以上就是大数据相关软件Sylph、Jupyter Notebook、SpinalTap的介绍内容,这些大数据相关软件都能使用在Linux操作系统中。

栏目相关文章