大数据治理系统框架Apache Atlas实践

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
简介: 大数据元数据和数据管理框架Apache Atlas实践今天技术小伙伴占卫同学分享了Apache Atlas元数据管理实践,被atlas的强大的血缘关系管理能力震撼,以下为本次分享内容:•Apache Atlas简介•Apache Atlas架构...
大数据元数据和数据管理框架
Apache Atlas实践

今天技术小伙伴占卫同学分享了Apache Atlas元数据管理实践,被atlas的强大的血缘关系管理能力震撼,以下为本次分享内容:
•Apache Atlas简介
•Apache Atlas架构
•Titan图数据库介绍
•ApachAtlas配置
•Apache Atlas案例
•总结

Apache Atlas简介
•面对海量且持续增加的各式各样的数据对象,你是否有信心知道哪些数据从哪里来以及它如何随时间而变化?采用Hadoop必须考虑数据管理的实际情况,元数据与数据治理成为企业级数据湖的重要部分
•为寻求数据治理的开源解决方案,Hortonworks公司联合其他厂商与用户于2015年发起数据治理倡议,包括数据分类、集中策略引擎、数据血缘、安全和生命周期管理等方面。Apache Atlas 项目就是这个倡议的结果,社区伙伴持续的为该项目提供新的功能和特性。该项目用于管理共享元数据、数据分级、审计、安全性以及数据保护等方面,努力与Apache Ranger整合,用于数据权限控制策略。


Atlas主要功能
•数据分类

        定义、注释和自动捕获数据集和底层之间的关系元素包括源、目标和派生过程

•安全审计

        数据访问的日志审计

•搜索和血缘关系

       元数据信息及数据之间的血缘

•安全与策略引擎
       结合ApacheRanger来设置数据的访问权限


Atlas架构



Atlas Core
Type System Atlas 允许用户为他们想要管理的元数据对象定义一个模型。该模型由称为 类型 的定义组成 类型 (类)的 实例被称为 实体 表示被管理的实际元数据对象。类型系统是一个组件,允许用户定义和管理类型和实体。由 Atlas 管理的所有元数据对象(例如 Hive 表)都使用类型进行建模,并表示为 实体 ( 类对象,一条数据 )
Ingest / Export Ingest 组件允许将元数据添加到 Atlas 。类似地, Export 组件暴露由 Atlas 检测到的元数据更改,以作为事件引发,消费者可以使用这些更改事件来实时响应元数据更改。
Graph Engine  :在内部, Atlas 通过使用图形模型管理元数据对象。以实现元数据对象之间的巨大灵活性和丰富的关系。图形引擎是负责在类型系统的类型和实体之间进行转换的组件,以及基础图形模型。除了管理图形对象之外,图形引擎还为元数据对象创建适当的索引,以便有效地搜索它们

 
如何使用Atlas管理

   用户可以使用两种方法管理 Atlas中的元数据

•API:Atlas 的所有功能通过REST API 提供给最终用户,允许创建,更新和删除类型和实体。它也是查询和发现通过Atlas 管理的类型和实体的主要方法。

    https://cwiki.apache.org/confluence/display/ATLAS/Atlas+REST+API

Messaging :除了 API 之外,用户还可以选择使用基于 Kafka 的消息接口与 Atlas 集成。这对于将元数据对象传输到 Atlas 以及从 Atlas 使用可以构建应用程序的元数据更改事件都非常有用。如果希望使用与 Atlas 更松散耦合的集成,这可以允许更好的可扩展性,可靠性等,消息传递接口是特别有用的。 Atlas 使用 Apache Kafka 作为通知服务器用于钩子和元数据通知事件的下游消费者之间的通信。事件由钩子和 Atlas 写到不同的 Kafka 主题。


Titan介绍

Titan :目前, Atlas 使用 Titan 图数据库来存储元数据对象。 Titan 使用两个存储:默认情况下元数据存储配置为 HBase ,索引存储配置为 Solr 。也可以通过构建相应的配置文件将元数据存储作为 BerkeleyDB Index 存储使用为 ElasticSearch 。元数据存储用于存储元数据对象本身,并且索引存储用于存储元数据属性的索引,其允许高效搜索
目前 基于 Java 使用最广泛的有两个开源框架

  (1) neo4j

  社区版 免费

  企业版 收费

    (2) Titan

  全开

 Titan是一个分布式的图数据库,支持横向扩展,可容纳数千亿个顶点和边。 Titan支持事务,并且可以支撑上千并发用户和 计算复杂图形遍历。




安装

安装前需要确定,你运行titanJava环境为1.8+ *

1) 将安装包拷贝到安装位置后解压缩

unzip titan-1.0.0-hadoop2.zip

2) 删除并添加相关jar

官方提供的hadoop2的安装包有一些问题,如果想要顺利的使用titan,必须删除相关的jar包,并添加一些缺失的jar包:

a. 删除异常jar

hadoop-core-1.2.1.jar

b. 添加所需要的jar,这些jar包可以通过maven进行下载

titan-hadoop-1.0.0.jar

titan-hadoop-core-1.0.0.jar


启动

titan 安装后,使用默认配置启动 titan 服务。
默认情况下, titan 会启动三个服务:
Cassandra 作为后端数据库存储图数据
Elasticsearch 作为索引,提高图的检索效率
Gremlin-Server 图数据库引擎,支持 gremlin 数据查询 语法



测试

./bin/gremlin.sh

:remote connect tinkerpop.serverconf/remote.yaml


//初始化

graph=TitanFactory.open('conf/titan-cassandra-es.properties')

GraphOfTheGodsFactory.load(graph)

g=graph.traversal()


//获取saturn

saturn=g.V().has('name', 'saturn').next()

g.V(saturn).valueMap()


//查看saturn孙子

g.V(saturn).in('father').in('father').values('name')



//查看hercules父母

hercules = g.V().has('name', 'hercules').next()

g.V(hercules).out('father', 'mother').values('name')


Atlas配置

1Atlas安装后默认hbasesolr存储,如果想修改存储介质,需要修改

/usr/hdp/2.6.0.3-8/atlas/conf/atlas-application.properties





2Atlas安装完之后会在hive-site.xml文件中插入,是一个钩子函数



Hive 在使用 hive hook 的hive 命令执行上支持侦听器。 这用于在 Atlas 中使用org.apache.atlas.hive.model.HiveDataModelGenerator 中定义的模型添加/更新/删除实体。 hive hook将请求提交给线程池执行器,以避免阻塞命令执行。 线程将实体作为消息提交给通知服务器,并且服务器读取这些消息并注册实体。


3,如果Atlas中没有元数据,需要手动执行

/usr/hdp/2.6.0.3-8/atlas/hook-bin/import-hive.sh


4Atlas高可用

要在 Atlas 中设置高可用性,必须在 atlas-application.properties文件中定义一些配置选项。

•高可用性是Atlas 的可选功能。因此,必须通过将配置选项atlas.server.ha.enabled设置为true 来启用。
•接下来,定义标识符列表,为您为 Atlas Web Service 实例选择的每个物理机器分配一个标识符。这些标识符可以是简单的字符串,如id1,id2等。它们应该是唯一的,不应包含逗号。
•将这些标识符的逗号分隔列表定义为选项 atlas.server.ids的值。
•对于每个物理机,请列出IP地址/主机名和端口作为配置 atlas.server.address.id的值,其中 id指的是此物理机的标识符字符串。

•例如,如果您选择了 2台主机名为 http://host1.company.com和 http://host2.company.com的计算机,则可以如下定义配置选项:
•  atlas.server.ids=id1,id2
• atlas.server.address.id1=host1.company.com:21000
• atlas.server.address.id2=host2.company.com:21000
•定义使用的 Zookeeper为 Atlas提供高可用性功能

atlas.server.ha.zookeeper.connect=zk1.company.com:2181,zk2.company.com:2181,zk3.comp

•要验证高可用性是否正常工作,请在安装了 Atlas Web Service 的每个实例上运行以下脚本。

   $ATLAS_HOME/bin/atlas_admin.py -status


以下hive 操作由 hive hook 当前捕获

create database

create table/view, create table as select

load, import, export

DMLs (insert)

alter database

alter table (skewed table information, stored as, protection is notsupported)

alter view


案例


REST API

http://192.168.200.13:21000/api/atlas/lineage/hive/table/stg.stg_device_info_d@test/inputs/graph   

http://192.168.200.13:21000/api/atlas/lineage/hive/table/stg.stg_device_info_d@test/outputs/graph

注意:已经删除的表,RESTAPI不能查询,但是图形化工具可以查询


总结

ApacheAtlas可监控数据的流向

ApacheRanger统一授权管理


相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
3天前
|
传感器 人工智能 大数据
高科技生命体征探测器、情绪感受器以及传感器背后的大数据平台在健康监测、生命体征检测领域的设想与系统构建
本系统由健康传感器、大数据云平台和脑机接口设备组成。传感器内置生命体征感应器、全球无线定位、人脸识别摄像头等,搜集超出现有科学认知的生命体征信息。云平台整合大数据、云计算与AI,处理并传输数据至接收者大脑芯片,实现实时健康监测。脑机接口设备通过先进通讯技术,实现对健康信息的实时感知与反馈,确保身份验证与数据安全。
|
2月前
|
消息中间件 安全 Kafka
Apache Kafka安全加固指南:保护你的消息传递系统
【10月更文挑战第24天】在现代企业环境中,数据的安全性和隐私保护至关重要。Apache Kafka作为一款广泛使用的分布式流处理平台,其安全性直接影响着业务的稳定性和用户数据的安全。作为一名资深的Kafka使用者,我深知加强Kafka安全性的重要性。本文将从个人角度出发,分享我在实践中积累的经验,帮助读者了解如何有效地保护Kafka消息传递系统的安全性。
148 7
|
2月前
|
消息中间件 存储 监控
构建高可用性Apache Kafka集群:从理论到实践
【10月更文挑战第24天】随着大数据时代的到来,数据传输与处理的需求日益增长。Apache Kafka作为一个高性能的消息队列服务,因其出色的吞吐量、可扩展性和容错能力而受到广泛欢迎。然而,在构建大规模生产环境下的Kafka集群时,保证其高可用性是至关重要的。本文将从个人实践经验出发,详细介绍如何构建一个高可用性的Kafka集群,包括集群规划、节点配置以及故障恢复机制等方面。
123 4
|
2月前
|
数据采集 监控 数据管理
数据治理之道:大数据平台的搭建与数据质量管理
【10月更文挑战第26天】随着信息技术的发展,数据成为企业核心资源。本文探讨大数据平台的搭建与数据质量管理,包括选择合适架构、数据处理与分析能力、数据质量标准与监控机制、数据清洗与校验及元数据管理,为企业数据治理提供参考。
115 1
|
14天前
|
数据采集 人工智能 分布式计算
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
阿里云推出的MaxFrame是链接大数据与AI的分布式Python计算框架,提供类似Pandas的操作接口和分布式处理能力。本文从部署、功能验证到实际场景全面评测MaxFrame,涵盖分布式Pandas操作、大语言模型数据预处理及企业级应用。结果显示,MaxFrame在处理大规模数据时性能显著提升,代码兼容性强,适合从数据清洗到训练数据生成的全链路场景...
48 5
MaxFrame:链接大数据与AI的高效分布式计算框架深度评测与实践!
|
3月前
|
存储 分布式计算 API
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
大数据-107 Flink 基本概述 适用场景 框架特点 核心组成 生态发展 处理模型 组件架构
146 0
|
3天前
|
人工智能 分布式计算 大数据
MaxFrame 产品评测:大数据与AI融合的Python分布式计算框架
MaxFrame是阿里云MaxCompute推出的自研Python分布式计算框架,支持大规模数据处理与AI应用。它提供类似Pandas的API,简化开发流程,并兼容多种机器学习库,加速模型训练前的数据准备。MaxFrame融合大数据和AI,提升效率、促进协作、增强创新能力。尽管初次配置稍显复杂,但其强大的功能集、性能优化及开放性使其成为现代企业与研究机构的理想选择。未来有望进一步简化使用门槛并加强社区建设。
31 7
|
7天前
|
数据采集 机器学习/深度学习 DataWorks
DataWorks产品评测:大数据开发治理的深度体验
DataWorks产品评测:大数据开发治理的深度体验
53 1
|
2月前
|
存储 数据挖掘 数据处理
巴别时代使用 Apache Paimon 构建 Streaming Lakehouse 的实践
随着数据湖技术的发展,企业纷纷探索其优化潜力。本文分享了巴别时代使用 Apache Paimon 构建 Streaming Lakehouse 的实践。Paimon 支持流式和批处理,提供高性能、统一的数据访问和流批一体的优势。通过示例代码和实践经验,展示了如何高效处理实时数据,解决了数据一致性和故障恢复等挑战。
137 61
|
2月前
|
存储 消息中间件 分布式计算
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践
Cisco WebEx 早期数据平台采用了多系统架构(包括 Trino、Pinot、Iceberg 、 Kyuubi 等),面临架构复杂、数据冗余存储、运维困难、资源利用率低、数据时效性差等问题。因此,引入 Apache Doris 替换了 Trino、Pinot 、 Iceberg 及 Kyuubi 技术栈,依赖于 Doris 的实时数据湖能力及高性能 OLAP 分析能力,统一数据湖仓及查询分析引擎,显著提升了查询性能及系统稳定性,同时实现资源成本降低 30%。
Cisco WebEx 数据平台:统一 Trino、Pinot、Iceberg 及 Kyuubi,探索 Apache Doris 在 Cisco 的改造实践

推荐镜像

更多