我在启动和运行管道时遇到问题。我正在尝试将数据从 CloudSQL MySQL 实例移动到 Big Query。在管道中,我尝试使用 MySQL、CloudSQL MySQL 和数据库源,但每次都会遇到相同的错误:
数据库来源:
Spark 程序“phase-1”失败并出现错误:具有 id 数据库的插件:source.jdbc.mysql 在 ap 的程序 Phase-1 中不存在
plication gs_test_two..请检查系统日志以获取更多详细信息。
MySQL 来源:
Spark 程序“phase-1”失败并出现错误:应用程序 gs_test_two 的程序 Phase-1 中不存在 ID 为 MySQL2:source.jdbc.mysql 的插件。请检查系统日志以获取更多详细信息。
CloudSQLMySQL 来源:
Spark 程序“phase-1”失败并出现错误:ID 为 CloudSQL MySQL 的插件:source.jdbc.cloudsql-mysql 在应用程序 gs_test_two 的程序 Phase-1 中不存在。请检查系统日志以获取更多详细信息。
如您所见,每次基本上都会出现相同的错误。
我知道连接有效,因为我可以查找 MySQL 数据库并通过它们查看表架构和数据。我在这里可能做错了什么?这就像管道没有与连接正确对话。
该实例位于具有私有 IP 的专用 VPC 上,我们有一个运行 cloudSQL 代理的虚拟机,在数据库上启用了私有 IP 并与同一 VPC 对等。
我还尝试运行管道,期望将数据从 CloudSQL MySQL DB 复制到 Big Query,但出现上述错误。
请附上完整的管道日志。
问题中提到的错误:
Plugin with id Database:source.jdbc.mysql does not exist in program phase-1
当由于某种原因,当 dataproc 作业中的 CDAP 尝试评估连接宏并验证管道并注册插件时,应用程序规范生成失败时,就会发生这种情况。
这可能不是实际的错误,而是错误的副产品,导致 appspec 重新生成失败,进而无法注册 jdbc 插件。