0

参考我之前的这篇文章:可以使用 Cloud Data Fusion 管道从 BigQuery 数据集中的表中修改或删除行?我正在尝试按照建议的答案编译最新版本的 Google Cloud Platform 插件并上传到 Data Fusion,以便我可以使用最新功能。

我们已经下载了代码,编译它并得到 2 个文件:

  • google-cloud-0.13.0-SNAPSHOT.jar
  • google-cloud-0.13.0-SNAPSHOT.json

在 JSON 文件中,父工件的最后几行是:

  },
  "parents": [
    "system:cdap-data-pipeline[6.1.0-SNAPSHOT,7.0.0-SNAPSHOT)",
    "system:cdap-data-streams[6.1.0-SNAPSHOT,7.0.0-SNAPSHOT)"
  ]
}

最初我去 Data Fusion 并选择上传一个新插件,但我收到一个关于父工件不存在的错误。所以我做了一些挖掘,发现 Data Fusion 上使用的工件的版本目前是 6.0.1: 在此处输入图像描述

所以我将父工件修改为正确的版本,现在 JSON 文件中的最后几行显示:

  },
  "parents": [
    "system:cdap-data-pipeline[6.0.1-SNAPSHOT,7.0.0-SNAPSHOT)",
    "system:cdap-data-streams[6.0.1-SNAPSHOT,7.0.0-SNAPSHOT)"
  ]
}

当我尝试再次上传插件时,它似乎通过了工件检查步骤,但在某种类检查中失败了,我在上传屏幕中看到了这个: 在此处输入图像描述

检查插件的工件时找不到类。请检查依赖项是否可用,并且指定了正确的父工件。错误类:类 java.lang.NoClassDefFoundError,消息:io/cdap/cdap/etl/api/validation/ValidationException。

所以现在我真的不知道这里出了什么问题。我怀疑数据融合中使用的工件版本没有引发错误的类?如果是这样,我如何更新工件本身?

或者,如果在整个过程中我还缺少其他东西,那么我将非常感谢您对此的任何指导或支持!问候

4

1 回答 1

0

您可以尝试使用 google-cloud plugins repo 的 release/0.12 分支。这与 6.0 版本的 Cloud Data Fusion 兼容。

于 2019-09-30T16:29:49.740 回答