文章目录

  • 背景
  • 导入元数据
  • 查看元数据
    • 按类型搜索
    • Hive元数据增量同步
  • 遇到的问题及解决方法
  • 结语

背景

Atlas主要负责同步各服务(主要是Hive)的元数据,并构建元数据实体之间的关联关系,并对所存储的元数据建立索引,为用户提供数据血缘关系查看及元数据检索等功能。
Atlas在安装之初,需要手动执行一次元数据的全量导入,后续Atlas便会通过HiveHook增量同步Hive元数据,关于CentOS7下Hive的安装及使用,请参见CentOS7下Hive的安装使用

导入元数据

进入Atlas编译结果根目录,进入apache-atlas-1.2.0-hive-hook/apache-atlas-hive-hook-1.2.0/hook-bin/目录

[root@scentos target]# cd apache-atlas-1.2.0-hive-hook/apache-atlas-hive-hook-1.2.0/hook-bin/
[root@scentos hook-bin]#

执行以下脚本,过程中要输入的Atlas用户名密码默认均为admin

[root@scentos hook-bin]# ./import-hive.sh

执行结果如下:

查看元数据

按类型搜索

在web界面中搜索hive_table类型的元数据,会得到右边的结果,这些都是我Hive中现有的表:

选择某张表,可以看到其血缘关系,血缘关系由HQL执行的insert语句决定:

Hive元数据增量同步

首先,打开hive-cli,创建三张表:

CREATE TABLE dwd_order_info_atlas (`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_atlas (
`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';CREATE TABLE `ads_order_by_province_atlas` (
`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';

运行结果如下:

然后将事先准备的order_info.txt和base_province.txt分别加载到表dwd_order_info和dim_base_province中:

hive> load data local inpath '/home/szc/order_info.txt' into table dwd_order_info_atlas;
hive> load data local inpath '/home/szc/base_province.txt' into table dim_base_province_atlas;

最后通过HQL的select语句向ads_order_by_province表中加载数据:

insert into table ads_order_by_province_atlas
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_atlas oi
left join dim_base_province_atlas bp
on oi.province_id=bp.id
group by bp.id,bp.name,bp.area_code,bp.iso_code,bp.iso_3166_2;

再查看ads_order_by_province_atlas表的血缘关系:

以及某个字段的血缘关系:

遇到的问题及解决方法

在hive-cli中执行MR任务时,如果遇到hdfs://XXX文件找不到的错误,将该文件上传即可,我总共是将atlas源码目录、tez目录(没有可不管)和Hadoop目录都上传到了hdfs://home/szc/下:

[root@scentos hadoop-2.7.2]# bin/hadoop fs -copyFromLocal /home/szc/apache-atlas-sources-1.2.0/ /home/szc/
[root@scentos hadoop-2.7.2]# bin/hadoop fs -copyFromLocal /home/szc/apache-tez-0.9.1/ /home/szc/
[root@scentos hadoop-2.7.2]# bin/hadoop fs -copyFromLocal /home/szc/hadoop-2.7.2/ /home/szc/

结语

Atlas学习笔记至此结束。

元数据管理工具Atlas学习笔记之使用相关推荐

  1. 元数据管理工具Atlas学习笔记之集成

    文章目录 背景 环境 Atlas安装 solr Atlas Atlas启动 启动Hadoop.ZooKeeper.HBase.Kafka.Hive和MySQL Hadoop 启动ZooKeeper 启 ...

  2. CC00068.pbpositions——|HadoopPB级数仓.V02|——|PB数仓.v02|元数据管理工具Atlas|部署配置|账户密码|

    一.安装环境准备 ### --- 安装概述说明~~~ 重点讲解Atlas,不对Atlas的依赖组件做讲解,组件均采用单机模式安装. ~~~ 编译才能安装. ### --- 安装依赖~~~ Maven ...

  3. 浅谈元数据管理之Atlas和Metacat

    关键字:元数据管理.血统采集.血统生命周期.图数据库.数据地图 元数据管理概述 元数据是描述数据的数据(data about data),是指从信息资源中抽取出来用于描述其特征与内容的数据,从一般意义 ...

  4. 图形文件元数据管理工具exiv2

    图形文件元数据管理工具exiv2 图形文件通常都包含多种元数据,如Exif.IPTC.XMP.这些信息往往是渗透人员收集的目标.为了便于管理这些信息,Kali Linux内置了专用工具exiv2.该工 ...

  5. Telerik移动应用开发工具AppBuilder学习笔记(二)--IDEs

    Telerik移动应用开发工具AppBuilder学习笔记 之 IDEs Telerik AppBuilder的IDE有四种: 1,在线IDE,地址:https://platform.telerik. ...

  6. golang实现将数据库表自动转为结构体的小工具(学习笔记)

    golang实现将数据库表自动转为结构体的小工具 必备条件 代码结构如下 代码详情 config.go init.go tool.go main.go config.json[运行man.go文件的时 ...

  7. jquery 绘图工具 flot 学习笔记

    原文地址为: jquery 绘图工具 flot 学习笔记 今天想做一个统计图表,像163博客的流量统计一样的,借助 flot 实现了,而且很简单. flot网址:http://code.google. ...

  8. perl oracle ppm,Perl图形化包管理工具PPM学习使用笔记

    PPM(Programmer's Package Manager)是ActivePerl自带的一个图形化管理工具,有了这个工具,要升级,更新,移除Perl的Package都非常方便.只需要输入ppm ...

  9. 每个人的商学院--管理基础(第三章:管理工具)--读书笔记

    第三章:管理工具 面向业绩:梦想归梦想,绩效归绩效 读书笔记: 管理工作并非总能收获大团圆的结局,还要时常做出真正艰难的决定. 管理只对绩效负责. 绩效就是达成公司的经营目标. 公司里的两层关系:第一 ...

最新文章

  1. java 使用http2.0_【Java】okhttp3如何发送http2请求?
  2. iOS-应用沙盒结构分析
  3. flink 写入到es_《从0到1学习Flink》—— Flink 写入数据到 Kafka
  4. 脂肪粒和淋巴结肿大的外形可否区分
  5. linux和windows的进程的虚拟地址空间
  6. 第五十五期:区块链将在2020年实现的重大改变
  7. 第 10 章 容器监控 - 085 - 如何快速部署 Prometheus?
  8. 理论基础 —— 索引 —— 倒排索引
  9. vue踩坑以及自己的解决办法总结,
  10. 实习成长之路——设计模式实战一:充血模型DDD与贫血模型MVC的区别?如何利用DDD开发一个虚拟钱包系统?
  11. 移远ec20 4g模块linux驱动移植,Hi3798移植4G模块(移远EC20)
  12. HCNA 认证课程笔记(1)
  13. 初中计算机理论教案,初中信息技术教学设计
  14. 姿态估计4-06:voxelpose(多视角3D人体姿态估算)-源码无死角解析(1)-训练代码总览
  15. 腾讯云服务器被黑客攻击的解决办法
  16. mysql outer apply_使用 CROSS APPLY 与 OUTER APPLY 连接查询
  17. 计算机中8位二进制机器数,一个字节由8位二进制数组成,其最大容纳的十进制整数为()...
  18. 【NOIP提高A组模拟2018.8.8】没有硝烟的战争
  19. Flash Builder 找不到所需的 Adobe Flash Player 调试器版本
  20. 密码学系列之:生日攻击

热门文章

  1. 无线通信基础知识6:射频器件的基本参数2
  2. MVG(second)学习笔记- 摄像机模型
  3. finereport 帆软学习笔记--已解决的问题
  4. ubuntu控制台访问u盘_ubuntu中使用终端查看U盘里的内容
  5. 无约束优化:修正阻尼牛顿法
  6. matlab求反函数的函数,关于一个函数的反函数求导问题,一个超复杂函数……急啊!...
  7. 深圳市“数据分析”岗位招聘分析—基于拉勾网
  8. 邯郸学院计算机专业就业怎么样,邯郸学院好就业吗?附邯郸学院就业率最高的专业名单...
  9. html、css和js原生写一个模态弹出框,顺便解决父元素半透明子元素不透明效果...
  10. 基于java的电脑配件报价网站系统