当我需要捕获从一个API到另一个API的数据流时,我有一个用例.例如,我的代码使用hibernate从数据库读取数据,在数据处理期间,我将一个转换POJO为另一个并执行更多处理,然后最终转换为最终结果hibernate对象.简而言之喜欢的东西POJO1要POJO2来POJO3.
在Java中有一种方法可以推断POJO3的属性是从POJO1的这个属性中产生/转换的.我想看看我可以捕获从一个模型到另一个模型的数据流的东西.这个工具可以是编译时也可以是运行时,我对两者都没问题.
我正在寻找一种可以与代码并行运行的工具,并在每次运行的基础上提供数据沿袭细节.
我以为 Hive lineage 不可用,但经过一番研究后我发现它可以启用。我在搜索时发现的一些内容是通过 Cloudera Manager 或 IBM Infosphere 启用其沿袭,但我对此不感兴趣。最后找到了一个应该启用它的标签:
<property>
<name>hive.exec.post.hooks</name>
<value>org.apache.hadoop.hive.ql.hooks.LineageLogger</value>
</property>
Run Code Online (Sandbox Code Playgroud)
提到的标签必须写入 hive-site.xml 文件中,并且应该将谱系写入目录 /var/log/hive/lineage 中。我说假设是因为我在该目录中没有找到任何内容,事实上,它甚至没有创建。我目前使用 Hive-server 3.12
血统如何帮助重新计算数据?
例如,我有几个节点计算数据,每个节点30分钟.如果一个人在15分钟后失败了,我们是否可以使用血统重新计算15分钟内处理的数据而不再给15分钟?
当我们通过 GCP 云存储实现数据湖,通过 Dataproc、Dataflow 等云服务实现数据处理时,我们如何在 GCP 中生成数据沿袭报告?