当前位置: 首页 > news >正文

Atlas数据治理

基本概念

官网

Apache Atlas – Data Governance and Metadata framework for Hadoop 

文档:

Apache Atlas – Data Governance and Metadata framework for Hadoop

架构

 

安装前提

安装包

链接:https://pan.baidu.com/s/1w4sCAiqE_tJtUUASNSCpSQ 
提取码:yyds 
--来自百度网盘超级会员V4的分享 

安装启动Hadoop

 

 

安装启动mysql

安装启动Hive

测试数据

create table test(id int);
insert into table  test values (90);

desc test; 注意这里要解决注释中文乱码问题 

安装启动Zookeeper

安装启动Kafka

安装启动Hbase 

安装启动Solr

解压安装包 

设置权限 

sudo chown -R bigdata:bigdata solr-7.7.3

 修改对应的配置文件

sudo vi solr.in.sh

修改对应的zk配置

ZK_HOST="master:2181,node1:2181,node2:2181"

分发刚才解压和配置包到集群其他节点

./xsync /home/bigdata/shell/solr/solr-7.7.3

启动

出于安全考虑,不推荐使用 root 用户启动 solr ,此处使用 solr 用户,在所有节点执行以
下命令启动 solr 集群

其他机器也启动

./solr start

 访问8983端口

安装Atlas

tar -zxvf apache-atlas-2.1.0-server.tar.gz

解压以后的目录

Atlas集成框架

Atlas 集成 hbase

作用是数据的存储

atlas.graph.storage.hostname=master:2181,node1:2181,node2:2181

 添加Hbase配置文件的位置

export HBASE_CONF_DIR=/home/bigdata/hbase/hbase-2.4.9/conf

Atlas 集成 Solr

atlas.graph.index.search.solr.zookeeper-url=master:2181,node1:2181,node2:2181
创建 solr collection
./solr create -c vertex_index -d /home/bigdata/atlas/atlas/conf/solr -shards 3 -replicationFactor 2
./solr create -c edge_index -d /home/bigdata/atlas/atlas/conf/solr -shards 3 -replicationFactor 2
./solr create -c fulltext_index -d /home/bigdata/atlas/atlas/conf/solr -shards 3 -replicationFactor 2

效果如下(作用就是记录元数据的关系)

Atlas 集成 Kafka

导数据缓冲作用

atlas.notification.embedded=false
atlas.kafka.data=/home/bigdata/kafka/kafka_2.11-2.4.1/data
atlas.kafka.zookeeper.connect=master:2181,node1:2181,node2:2181/kafka
atlas.kafka.bootstrap.servers=master:9092,master:9092,master:9092

 Atlas Server 配置

atlas.rest.address=http://master:21000
# If enabled and set to true, this will run setup steps when the server starts
atlas.server.run.setup.on.start=false

#########  Entity Audit Configs  #########
atlas.audit.hbase.tablename=apache_atlas_entity_audit
atlas.audit.zookeeper.session.timeout.ms=1000
atlas.audit.hbase.zookeeper.quorum=master:2181,node1:2181,node2:2181
记录性能指标(选配),进入 atlas/conf/ 路径,修改当前目录下的 atlas-log4j.xml
去掉注解就行

 Atlas 集成 Hive

在文件最后添加支持hive的配置
######### Hive Hook Configs #######
atlas.hook.hive.synchronous=false
atlas.hook.hive.numRetries=3
atlas.hook.hive.queueSize=10000
atlas.cluster.name=primary

 修改hive的配置文件

<property>
 <name>hive.exec.post.hooks</name>
 <value>org.apache.atlas.hive.hook.HiveHook</value>
</property>

修改完配置以后重启下hive

添加Hive的hook

 

 

拷贝解压的hive的hook到atlas下面

cp -r ./* /home/bigdata/atlas/atlas

 

配置hive的环境变量

Atlas 配置文件 /opt/module/atlas/conf/ atlas-application.properties
拷贝到 /opt/module/hive/conf 目录
 cp atlas-application.properties /home/bigdata/hive/hive-3.1.2/conf

使用Atlas

./atlas_start.py

下图表示启动成功

 后面访问还要等几分钟,到日志不在打印位置(我大概等了10多分钟)。

登录

admin
admin

 

Hive数据初始导入

 下面输入我的是账号:admin 密码:admin

 简单的搜索

hive血缘关系测试 

Hive 元数据的增量同步,无需人为干预,只要 Hive 中的元数据发生变化(执行 DDL
句), Hive Hook 就会将元数据的变动通知 Atlas 。除此之外, Atlas 还会根据 DML 语句获取
数据之间的血缘关系。
CREATE TABLE dwd_order_info (
 `id` STRING COMMENT '订单号',
 `final_amount` DECIMAL(16,2) COMMENT '订单最终金额',
 `order_status` STRING COMMENT '订单状态',
 `user_id` STRING COMMENT '用户 id',
 `payment_way` STRING COMMENT '支付方式',
 `delivery_address` STRING COMMENT '送货地址',
 `out_trade_no` STRING COMMENT '支付流水号',
 `create_time` STRING COMMENT '创建时间',
 `operate_time` STRING COMMENT '操作时间',
 `expire_time` STRING COMMENT '过期时间',
 `tracking_no` STRING COMMENT '物流单编号',
 `province_id` STRING COMMENT '省份 ID',
 `activity_reduce_amount` DECIMAL(16,2) COMMENT '活动减免金额',
 `coupon_reduce_amount` DECIMAL(16,2) COMMENT '优惠券减免金额',
 `original_amount` DECIMAL(16,2) COMMENT '订单原价金额',
 `feight_fee` DECIMAL(16,2) COMMENT '运费',
 `feight_fee_reduce` DECIMAL(16,2) COMMENT '运费减免'
) COMMENT '订单表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
CREATE TABLE dim_base_province (
 `id` STRING COMMENT '编号',
 `name` STRING COMMENT '省份名称',
 `region_id` STRING COMMENT '地区 ID',
 `area_code` STRING COMMENT '地区编码',
 `iso_code` STRING COMMENT 'ISO-3166 编码,供可视化使用',
 `iso_3166_2` STRING COMMENT 'IOS-3166-2 编码,供可视化使用'
) COMMENT '省份表'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
提前准备好的数据 order_info.txt base_province.txt 上传到两张 hive 表的
hdfs 路径下。

 

查询数据是否成功导入

select * from dwd_order_info;
select * from dwd_order_info;

CREATE TABLE `ads_order_by_province` (
 `dt` STRING COMMENT '统计日期',
 `province_id` STRING COMMENT '省份 id',
 `province_name` STRING COMMENT '省份名称',
 `area_code` STRING COMMENT '地区编码',
 `iso_code` STRING COMMENT '国际标准地区编码',
 `iso_code_3166_2` STRING COMMENT '国际标准地区编码',
 `order_count` BIGINT COMMENT '订单数',
 `order_amount` DECIMAL(16,2) COMMENT '订单金额'
) COMMENT '各省份订单统计'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
insert into table ads_order_by_province
select
 '2021-08-30' dt,
 bp.id,
 bp.name,
 bp.area_code,
 bp.iso_code,
 bp.iso_3166_2,
 count(*) order_count,
 sum(oi.final_amount) order_amount
from dwd_order_info oi
left join dim_base_province bp
on oi.province_id=bp.id
group by bp.id,bp.name,bp.area_code,bp.iso_code,bp.iso_3166_2;

注意 

出现不可修复的异常的时候删除atlas保存在hbase上面的元数据信息,重新启动就行。

disable 'tablename'
drop  'tablename'

 

相关文章:

  • echarts拖动进度条,动态更新数据
  • MATLAB | MATLAB中绘图的奇淫技巧合集
  • 指针笔试题解析(4)
  • [Spring Boot 3] 整合NoSQL与构建RESTful服务
  • 基于非线规划算法的船舶能量调度
  • 二、PL/SQL 编程基础
  • NGINX源码之:ngx_open_cached_file
  • 【路径规划-机器人栅格地图】基于蚁群算法求解大规模栅格地图路径规划及避障附Matlab代码
  • SpringCache的介绍和使用
  • java-php-python-ssm艾灸减肥管理网站计算机毕业设计
  • 力扣每日一题2022-09-23中等题:设计链表
  • 内存数据库简介-内存数据库性能排行
  • 【云原生】Hadoop on k8s 环境部署
  • 不同编码格式(Unicode、多字节字符)vs环境下使用printf、scanf应注意事项
  • 使用Express获取jquery数据 使用模块化 共享自己的数据库
  • Java程序员幽默爆笑锦集
  • SpingCloudBus整合RabbitMQ
  • 将 Measurements 和 Units 应用到物理学
  • 看图轻松理解数据结构与算法系列(基于数组的栈)
  • 离散点最小(凸)包围边界查找
  • 让你成为前端,后端或全栈开发程序员的进阶指南,一门学到老的技术
  • 软件开发学习的5大技巧,你知道吗?
  • 实战:基于Spring Boot快速开发RESTful风格API接口
  • 我与Jetbrains的这些年
  • 携程小程序初体验
  • 转载:[译] 内容加速黑科技趣谈
  • 自定义函数
  • FaaS 的简单实践
  • ​2021半年盘点,不想你错过的重磅新书
  • ​Z时代时尚SUV新宠:起亚赛图斯值不值得年轻人买?
  • # Panda3d 碰撞检测系统介绍
  • #define、const、typedef的差别
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (黑客游戏)HackTheGame1.21 过关攻略
  • (四)JPA - JQPL 实现增删改查
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)chrome浏览器收藏夹(书签)的导出与导入
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转)真正的中国天气api接口xml,json(求加精) ...
  • (转载)Google Chrome调试JS
  • .md即markdown文件的基本常用编写语法
  • .NET Core WebAPI中封装Swagger配置
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .NET6 开发一个检查某些状态持续多长时间的类
  • .NET8.0 AOT 经验分享 FreeSql/FreeRedis/FreeScheduler 均已通过测试
  • .net解析传过来的xml_DOM4J解析XML文件
  • /etc/sudoers (root权限管理)
  • @Autowired和@Resource的区别
  • @ModelAttribute使用详解
  • [Angular 基础] - 指令(directives)
  • [bzoj1912]异象石(set)
  • [BZOJ4010]菜肴制作
  • [codeforces]Recover the String
  • [Go WebSocket] 多房间的聊天室(五)用多个小锁代替大锁,提高效率
  • [IE编程] IE中使网页元素进入编辑模式