尝试在此处引用的eclipse中运行Google云数据流Wordcount示例https://cloud.google.com/dataflow/docs/quickstarts/quickstart-java-eclipse
我收到以下错误:
在:"更新层次结构"期间发生内部错误。 试图为Java项目创建一个TypeHierarchyPipelineOptionsHierarchy'我的项目名称'其中没有PipelineOptions类型
根据以下stackoverflow链接,其他人也面临这个问题:
Eclipse: An internal error occurred during: "Update Hierarchy"
我尝试了上面的解决方案,项目进行了编译,但即使在上面强制更新快照/版本后它也没有运行。
基于我对该问题的研究,它看起来像google-cloud-dataflow-java-sdk-all-2.0.0-beta1.jar没有导致错误的PipelineRunner类。同一个jar的1.9.0版本有这些类。 我不能直接使用jar的1.9.0版本,因为它会导致其他编译错误,例如包裹更改为' org.apache.beam'而不是com.google.cloud.dataflow'
答案 0 :(得分:1)
确实,旧版Google云数据流插件中存在一个问题 - 旧版本与Dataflow SDK 2.x系列不兼容,但项目生成可能仍会自动创建项目使用最新的2.x SDK。
要解决此问题,请升级到最新版本的插件。
答案 1 :(得分:0)
使用Dataflow Plugin for Eclipse及更早版本的1.1.2版生成的项目将使用最新的原型生成项目。随着Dataflow 2.0.0-beta1的发布,生成的项目将使用Apache Beam SDK作为底层依赖项。将项目版本修改为1.9.0或更早版本不会修改生成的代码,这会导致您遇到的编译失败。
插件的1.1.3版将确保任何生成的项目都保留在Dataflow命名空间内。未来的版本也将与Apache Beam兼容。版本1.1.3应该可用 - 在Eclipse中,转到Help -> Check for Updates
(可能正在运行Perform Setup Tasks
以清除缓存的当前版本)应该使更新的插件可用。
我们已经发布了Eclipse的Dataflow Plugin 1.1.3版;快速入门示例现在应该起作用。您将生成的项目在Eclipse的Dataflow Plugin的未来版本之前将无法运行。更新插件并重新运行快速入门应该会成功。