将 Confluent Schema Registry 与 Apache Atlas 集成

问题描述

问题定义

我正在尝试将 Confluent Schema Registry 中存在的数据与 Apache Atlas 集成。为此,我看到了很多链接,他们也谈到了它的可能性,但他们没有提供有关如何完成这种集成的任何技术信息。

问题

有人能帮我将数据(也是元数据)从 Schema Registry 实时导入到 Apache Atlas 吗?是否有任何钩子、偶数侦听器或类似的东西来实现它?

示例

这是我从架构注册表中获得的:

{
   "subject":"order-value","version":1,"id":101,"schema":"{\"type\":\"record\",\"name\":\"cart_closed\",\"namespace\":\"com.akbar.avro\",\"fields\":[{\"name\":\"_g\",\"type\":[\"long\",\"null\"],\"default\":null},{\"name\":\"_s\",{\"name\":\"_u\",{\"name\":\"application_version\",\"type\":[\"int\",{\"name\":\"client_time\",{\"name\":\"event_fingerprint\",\"type\":[\"string\",{\"name\":\"os\",{\"name\":\"PHP_session_id\",{\"name\":\"platform\",{\"name\":\"server_time\",{\"name\":\"site\",{\"name\":\"user_agent\",{\"name\":\"payment_method_id\",{\"name\":\"page_view\",\"type\":[\"boolean\",{\"name\":\"items\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"item\",\"fields\":[{\"name\":\"brand_id\",{\"name\":\"category_id\",{\"name\":\"discount\",{\"name\":\"order_item_id\",{\"name\":\"price\",{\"name\":\"product_id\",{\"name\":\"quantity\",{\"name\":\"seller_id\",{\"name\":\"variant_id\",\"default\":null}]}}},{\"name\":\"cart_id\",\"default\":null}]}"
}

如何在 Apache Atlas 中导入?

我做了什么

我检查了具有以下架构的 schema registry documentation

schema registry architecture

所以我决定设置Kafka url,但我没有找到任何设置Kafka配置的地方。我试图改变 atlas.kafka.bootstrap.servers atlas-application.properties 中的变量。我也尝试从 import-kafka.sh 目录调用 hook-bin,但没有成功。

错误日志

2021-04-25 15:48:34,162 ERROR - [main:] ~ Thread Thread[main,5,main] died (NIOServerCnxnFactory$1:92)
org.apache.atlas.exception.AtlasBaseException: EmbeddedServer.Start: Failed!
    at org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:115)
    at org.apache.atlas.Atlas.main(Atlas.java:133)
Caused by: java.lang.NullPointerException
    at org.apache.atlas.util.BeanUtil.getBean(BeanUtil.java:36)
    at org.apache.atlas.web.service.EmbeddedServer.auditServerStatus(EmbeddedServer.java:128)
    at org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:111)
    ... 1 more

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)