小编Iñi*_*lez的帖子

调试无法按预期工作的 Google Dataflow 流作业

我正在遵循教程,了解如何将数据从 Oracle 数据库迁移到 Cloud SQL PostreSQL 实例。

我正在使用 Google 提供的流模板数据流到 PostgreSQL

从高层次来看,这是预期的:

  1. Datastream 以 Avro 格式从源 Oracle 数据库导出回填和更改的数据到指定的 Cloud Bucket 位置
  2. 这会触发 Dataflow 作业从该云存储位置获取 Avro 文件并插入到 PostgreSQL 实例中。

当 Avro 文件上传到云存储位置时,该作业确实被触发,但当我检查目标 PostgreSQL 数据库时,所需的数据尚未填充。

当我检查作业日志和工作日志时,没有错误日志。当作业被触发时,这些是记录的日志:

StartBundle: 4
Matched 1 files for pattern gs://BUCKETNAME/ora2pg/DEMOAPP_DEMOTABLE/2022/01/11/20/03/7e13ac05aa3921875434e51c0c0c63aaabced31a_oracle-backfill_336860711_1_0.avro
FinishBundle: 5
Run Code Online (Sandbox Code Playgroud)

有谁知道问题是什么?是配置问题吗?如果需要的话我会发布所需的配置。

如果没有,有人可以帮助我如何正确调试这个特定的数据流作业吗?谢谢

编辑1:

在检查管道中步骤的步骤信息时,发现以下内容:

以下是管道中的所有步骤: 在此输入图像描述

第一步 (DatastreamIO) 似乎按预期工作,“输出集合”中的元素计数器数量正确,为 2。 在此输入图像描述

然而,在第二步中,在输出集合中找不到这两个元素计数器。进一步检查,可以看到元素似乎在以下步骤中被删除(格式化为 Postgres DML > 格式化为 Postgres DML > 映射): 在此输入图像描述

编辑2:

这是上述步骤的 Cloud Worker 日志的屏幕截图: 在此输入图像描述

编辑3:

为了调试这个问题,我从源代码中单独构建并部署了模板。我发现代码可以运行到以下行DatabaseMigrationUtils.java

return KV.of(jsonString, dmlInfo);
Run Code Online (Sandbox Code Playgroud)

其中 …

postgresql google-cloud-platform google-cloud-dataflow

6
推荐指数
1
解决办法
502
查看次数

Python Turtle 图形窗口不显示任何内容

我认为我的代码没有问题。因为它非常简单,所以它在我的 Windows PC 上运行得很好,并且根本不显示任何错误消息。

from turtle import Turtle, Screen

turtle = Turtle()
screen = Screen()

screen.exitonclick()
Run Code Online (Sandbox Code Playgroud)

然而,在我的 Monterey M1 Macbook 上的 Pycharm 上,Python Turtle Graphics 窗口只显示黑屏和滚动条。

带黑屏和滚动条的 Python Turtle 图形窗口

我认为名为 python.app 的应用程序有问题。这就是为什么我用brew更新了python并重新安装了Pycharm,但没有任何改变。

有谁知道如何解决这一问题?谢谢。

python turtle-graphics python-turtle

5
推荐指数
1
解决办法
9550
查看次数

Elasticsearch/dataflow - 约 60 个并发连接后连接超时

我们在 Elastic Cloud 上托管 elatsicsearch 集群并从数据流 (GCP) 调用它。工作在开发中运行良好,但当我们部署到产品时,我们在客户端看到大量连接超时。

Traceback (most recent call last):
  File "apache_beam/runners/common.py", line 1213, in apache_beam.runners.common.DoFnRunner.process
  File "apache_beam/runners/common.py", line 570, in apache_beam.runners.common.SimpleInvoker.invoke_process
  File "main.py", line 159, in process
  File "/usr/local/lib/python3.7/site-packages/elasticsearch/client/utils.py", line 152, in _wrapped
    return func(*args, params=params, headers=headers, **kwargs)
  File "/usr/local/lib/python3.7/site-packages/elasticsearch/client/__init__.py", line 1617, in search
    body=body,
  File "/usr/local/lib/python3.7/site-packages/elasticsearch/transport.py", line 390, in perform_request
    raise e
  File "/usr/local/lib/python3.7/site-packages/elasticsearch/transport.py", line 365, in perform_request
    timeout=timeout,
  File "/usr/local/lib/python3.7/site-packages/elasticsearch/connection/http_urllib3.py", line 258, in perform_request
    raise ConnectionError("N/A", str(e), e)
elasticsearch.exceptions.ConnectionError: ConnectionError(<urllib3.connection.HTTPSConnection object at 0x7fe5d04e5690>: Failed …
Run Code Online (Sandbox Code Playgroud)

python elasticsearch google-cloud-platform google-cloud-dataflow apache-beam

0
推荐指数
1
解决办法
2084
查看次数