参考我之前的这篇文章:可以使用 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。
所以现在我真的不知道这里出了什么问题。我怀疑数据融合中使用的工件版本没有引发错误的类?如果是这样,我如何更新工件本身?
或者,如果在整个过程中我还缺少其他东西,那么我将非常感谢您对此的任何指导或支持!问候