文档章节

大数据生命周期管理框架Apache Falcon简介

ericSM
 ericSM
发布于 06/20 16:41
字数 1138
阅读 248
收藏 0

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

Apache Falcon是一个开源的hadoop数据生命周期管理框架, 它提供了数据源 (Feed) 的管理服务,如生命周期管理,备份,存档到云等,通过Web UI可以很容易地配置这些预定义的策略, 能够大大简化hadoop集群的数据流管理. 本文主要介绍了Falcon的基本特性, 核心概念以及架构, 最后讨论了它的优点和局限.

Hortonworks的hadoop发行版HDP中,数据治理包括Falcon和Atlas这两个组件.Atlas主要负责元数据的管理. Falcon主要负责数据生命周期的管理.

核心特性

集中式数据生命周期管理: Falcon在UI上提供wizard来定义数据导入,处理和导出的流水线, 同时可以管理监控流水线的运行.

业务一致性和灾难恢复: Falcon可以拷贝HDFS文件和hive表.

解决审计和合规性方面的需求: 可以利用falcon查看数据流水线的血缘关系,审计日志,以及为业务流程和数据打标签,方便业务管理.

Falcon 如何工作

Falcon的使用者可以通过命令行或者Falcon Web UI来创建数据流水线,数据流水线由集群存储位置定义,数据源和处理逻辑组成,这三部分分别为由xml文件定义的实体.

实体 (entity)

falcon中定义的三种实体包括:

cluster: 支持定义多个集群.
feed: 数据源, 支持类型包括hdfs路径和hive表.
process: 处理逻辑,支持oozie,hive,pig和spark作为作业流引擎.


Falcon pipeline

数据流水线 (data pipeline)

每个实体是单独定义的,把实体组合起来就形成了数据流水线,Falcon提供了很多预定义的策略来处理数据拷贝,数据保留时间和存档.

架构原理

Falcon把用户定义的feed和process
翻译成调度器的作业配置文件,这些作业流由调度器管理,falcon实际上只维护实体之间的依赖关系,所以它是个轻量级的工具.Falcon实体的配置文件(xml文件)可以存在本地或者hdfs上.


Falcon架构

调度器

Falcon目前默认使用oozie作为调度器, 由于oozie调度器的一些限制,falcon正在开发自己的调度器,预计将在以后的版本中正式发布.

与oozie集成

Falcon通过JMS (Java消息服务) 与oozie进行通信,控制oozie上对应的作业流,oozie也通过JMS给falcon报告作业运行情况.

讨论

总结来说, Falcon是在调度器Oozie上封装了一层,用户可以用Web UI上的wizard来配置数据流水线, 数据生命周期管理非常方便. 它最大的优点就是增强了Oozie的易用性, 对于业务逻辑比较复杂的系统, 用Falcon管理比起直接用Oozie会大大简化. 但是调研中发现, Falcon Web UI上呈现的血缘关系只是以实体为中心, 并没有全局层面上整个data pipeline的血缘关系. 如果能够以pipeline为中心, 画出血缘关系图,提供zoom in功能, 以及在图中把实体运行状态可视化, 将会是一个很有用的特性. 虽然被称为 数据治理工具,但是它的功能只是集中在数据生命周期管理和流水线管理,要与元数据管理(Atlas),数据安全管理(Ranger) 等组合,才能形成一个完整的数据治理解决方案. 调研发现, Falcon的关注度并不算高,能搜到的英文资料主要是Apache和Hortonworks官网,中文资料几乎没有. 目前也没有看到哪个大公司在生产环境中用Falcon,我认为主要是因为Falcon提供的功能单一, 只解决了数据治理领域的一小部分需求,用户更愿意使用集中化的数据治理工具,或者自己开发.

参考:

http://falcon.apache.org/GettingStarted.html
http://book.open-falcon.org/zh_0_2/intro/

© 著作权归作者所有

ericSM
粉丝 18
博文 142
码字总数 154379
作品 0
南京
项目经理
私信 提问
Apache Falcon数据集管理和数据处理平台

jopen 4年前发布 | 67K 次阅读 分布式/云计算/大数据 Apache Falcon Apache Falcon 是一个面向Hadoop的、新的数据处理和管理平台,设计用于数据移动、数据管道协调、生命周期管理和数据发现。...

hblt-j
05/24
138
0
跟新浪、当当和滴滴的大牛一起聊开源

好消息~!好消息~! 开源中国带你去当当,看看小时候我们买书的地方,然后听一场技术沙龙。 随着中国互联网行业的蓬勃发展,各大互联网公司的开源产品纷纷登场,为社区注入新鲜血液,一同推动...

OSC_GinobiQ
2016/06/16
58
0
论文阅读 | Falcon: Balancing Interactive Latency and Resolution Sensitivity for Scalable Linked Visualizations

作者: Dominik Moritz, Bill Howe, Jeffrey Heer 发表于CHI 2019, 三位作者都来自于University of Washington Interactive Data Lab 项目代码:https://github.com/uwdata/falcon 简介 Link......

basasuya
08/08
0
0
跟新浪、当当和滴滴的大牛一起聊开源

好消息~!好消息~! 开源中国带你去当当,看看小时候我们买书的地方,然后听一场技术沙龙。 随着中国互联网行业的蓬勃发展,各大互联网公司的开源产品纷纷登场,为社区注入新鲜血液,一同推动...

OSC至尊宝
2016/06/16
9.8K
38
Open-Falcon监控系统安装和使用

运维监控工具选择(https://my.oschina.net/jimmywa/blog/2992383) 1. 安装脚本(主服务) 常规安装环境搭建太复杂, dashboard安装碰到python依赖不容易解决, 直接使用docker安装, 这里总结除了...

jimmywa
2018/12/26
242
0

没有更多内容

加载失败,请刷新页面

加载更多

如何管stderr,而不是stdout?

我有一个要写入信息的程序stdout和stderr ,我需要grep通过什么是未来标准错误 ,而忽视标准输出 。 我当然可以分2步完成: command > /dev/null 2> temp.filegrep 'something' temp.file...

技术盛宴
19分钟前
4
0
centos7.5上通过docker安装并运行mysql5.7

1. docker pull mysql:5.7 2. docker run --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7...

Ryub
22分钟前
4
0
什么是比赛条件?

在编写多线程应用程序时,遇到的最常见问题之一是竞争条件。 我对社区的问题是: 什么是比赛条件? 您如何检测到它们? 您如何处理它们? 最后,如何防止它们发生? #1楼 当设备或系统试图同...

javail
34分钟前
5
0
SpringMVC源码分析-DispatcherServlet-init方法分析

上一篇:SpringMVC源码分析-DispatcherServlet实例化干了些什么 先吐槽一下。。。写了两小时的博客突然被俺家小屁孩按了刷新,东西不见了,建议OSCHINA能够自动定时保存啊。让我先安静一下。...

特拉仔
41分钟前
5
0
python协程 生成器

协程,又称微线程,纤程。英文名Coroutine。 线程是系统级别的它们由操作系统调度,而协程则是程序级别的由程序根据需要自己调度。在一个线程中会有很多函数,我们把这些函数称为子程序,在子...

沙门行道
52分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部