Apache Atlas通过JSON文件添加Type

Apache Atlas通过JSON文件添加Type

 

    Atlas预定义Type

    在Atlas有许多预定义的Type,都放在了addons/models文件夹下。在Atlas启动时会检查这些文件定义的Type,如果未创建则会自动创建。

    同时Atlas还提供版本-补丁的机制,在启动时找出有效的补丁并执行。

    以Hive的1030-hive_model.json文件举例,其中定义了各种类型的Type。

 

    如果我们要修改Type定义,只需要在patches下添加补丁文件。

    下面这个补丁文件就是如果hive_column的版本为1.0,则添加一个属性,完成后将hive_column的版本更新为1.1。

 

    再看当前的hive_column版本为1.3,所以上面的补丁不会生效。

 

    Atlas的启动时检查功能为开发者创建Type和修改Type提供了极大的便利。

 

   启动-检查过程

    在Atlas启动过程中看到,是AtlasTypeDefStoreIntializer.loadBootstrapTypeDefs()实现这个功能。

 

    函数定义:

 

    (从该函数的实现发现,文件和文件夹前的四位数字是因为Atlas提供了按顺序检查的功能,方便用户排序用。只要目录结构正确,会检查所有JSON文件)

 

    自定义Type测试

    举个实例,继承Atlas的rdbms相关的Type,创建mysql相关的Type。

    2010-rdbms_model.json:

    第一步:创建2020-mysql_model.json。

    第二步:文件内将所有"rdbms"字符串替换为"mysql"。

    第三步:entityDefs下所有Type的继承类从DateSet改为对应rdbms的Type。

    第四步:entityDefs下所有的Type的attributeDefs清空,因为属性从rdbms中继承来了。

                 至此应该是这样的(字符串替换后,注意黑箭头的an需要修改为a):

 

    第五步:最后我们加一个名为wjzhang_mysql_test_attr的新属性给mysql_instance,区别于rdbms_instance,看看是否成功(后续要修改需要用API或者补丁,你也可以跳过这一步)。

    第六步:将该文件放到Atlas的文件夹下,如我服务器上的/usr/hdp/2.6.4.0-91/atlas/models,或我本地的E:\atlas\deploy\models。重启Atlas。

 

    可以看到一切成功。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 13
    评论
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值