我查看了Google PubSub的文档,并尝试查看Google Cloud Monitoring,但找不到任何方法来确定我的主题中的队列大小.
由于我计划使用PubSub进行分析,因此监控队列数非常重要,因此我可以扩大/减少用户数.
我错过了什么?
我有一个返回一些 ora-01427 错误的 SQL 请求:
单行子查询返回多行
INSERT INTO my_table (value0, value1, value2, value3)
VALUES((SELECT MAX(value0) FROM my_table), '5', (SELECT DISTINCT(value2) FROM another_table), '8');
Run Code Online (Sandbox Code Playgroud)
问题是,我需要两个硬编码值,我需要来自仅返回一行的选择的值,并且我想对第二个选择返回的每一行执行此操作。
我觉得如果只有一个选择,这个查询就会起作用。有没有办法在 INSERT 中执行多个 SELECT ?语法是什么?
编辑: my_table 和 some_table 实际上是同一个表,很抱歉一开始就不清楚,实际上,我需要 value0 是唯一的,因此它需要每次都检索最大的 id,不仅仅是在插入之前,而是每次新插入时行已插入。
我正在尝试从 Apache Beam 读取 Pubsub 消息的时间戳值。
p.apply("Read PubSub messages", PubsubIO.readMessagesWithAttributes()
.withIdAttribute("msg_id")
.withTimestampAttribute("timestamp")
.fromSubscription(options.getPubsubSubscription()))
Run Code Online (Sandbox Code Playgroud)
但不幸的是,我收到了以下错误,这真的让我感到惊讶,因为我认为每条消息都有一个默认时间戳。
An exception occured while executing the Java class.
PubSub message is missing a value for timestamp attribute timestamp
Run Code Online (Sandbox Code Playgroud)
为什么我的消息没有时间戳?是因为我通过 Pubsub UI 发布了它吗?
google-cloud-platform google-cloud-pubsub google-cloud-dataflow apache-beam