- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
*我用良好的数据填充了 map (没有空值),但我无法进入下一个 ParDo 函数。我尝试调试,但不明白为什么会发生这种情况。如果有人知道我做错了什么,请告诉我。我正在放置三个 ParDo 函数。谢谢*
.apply("Parse XML CarrierManifest ", ParDo.of(new DoFn<String, Manifest>() {
@ProcessElement
public void processeElement(ProcessContext c) {
try {
System.out.println(c.element());
JAXBContext jaxbContext = JAXBContext.newInstance(Manifest.class);
Unmarshaller unmarshaller = jaxbContext.createUnmarshaller();
StringReader reader = new StringReader(c.element());
Manifest manifest = (Manifest) unmarshaller.unmarshal(reader);
if (manifest == null) throw new RuntimeException("Invalid data");
c.output(manifest);
}
catch (Exception e)
{
LOG.error("Unexpected error while parsing input. File was <[ " + c.element() + " ]>", e);
}
}
}
)
)
//---------------------------------------------------------------------------------------------------------------
.apply("preparing data " , ParDo.of(new DoFn<Manifest, Map<String, List<TableRow>>>()
{
@ProcessElement
public void processeElement(ProcessContext c)
{
Map<String, List<TableRow>> RowsTable = new ArrayMap<>();
RowsTable.put("Manifest",new ArrayList<>());
Manifest manifest = c.element();
Links linkss = manifest.linkes;
System.out.println(linkss.ShipmentsList.linakageShipment.linkageesList.size());
for (int i = 0; i < linkss.ShipmentsList.linakageShipment.linkageesList.size(); i++) {
RowsTable.get("Manifest")
.add(new TableRow()
.set("GROUP_ID", manifest.GroupidValue)
.set("STATUS", manifest.StatusValue)
.set("GROUP_TYPE", manifest.typeValue)
.set("CREATED_AT", manifest.created_atValue)
.set("READY_AT", manifest.ready_atValue)
.set("MANIFEST_NUMBER", manifest.manifest_numberValue)
.set("LINKS_SELF", linkss.SelfLink)
.set("SHIPMENT_ID", linkss.ShipmentsList.linakageShipment.linkageesList.get(i).ID)
.set("SHIPMENT_TYPE", linkss.ShipmentsList.linakageShipment.linkageesList.get(i).Type));
}
c.output(RowsTable);
}
}))
//---------------------------------------------------------------------------------------------------------------
.apply("change rows list to one row ",ParDo.of(new DoFn<Map<String, List<TableRow>>, TableRow>()
{
@ProcessElement
public void processElement(ProcessContext c)
{
System.out.println("id: " + c.element());
for (TableRow r : c.element().get("Manifest")) // Should only have 1
c.output(r);
}
}))
最佳答案
根据您在问题中的评论之一,我了解到问题是您的 Dataflow 管道仅在 Dataflow 本身中运行时才有效(使用 Dataflow Runner
),但当您使用 Direct Runner
时,它无法在本地工作。
如 the documentation for Apache Beam's Direct Runner 中所述,本地执行受到本地可用内存的限制,建议使用本地机器可以处理的小数据集来完成调试过程。无论如何,从同一条评论中我了解到您的管道在数据流中执行时运行良好,因此管道本身没有问题。
根据您提供的描述,该问题看起来肯定与 Direct Runner
的限制有关,但如果您在本地/远程环境中遇到更具体的错误,您应该在问题描述中更加具体,并回答要求提供有关您的使用问题的更多信息的评论,以便能够为您提供帮助。
关于java - gcp 数据流流程元素不会转到下一个 ParDO 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49778796/
我正在评估 GCP 的 stackdriver 以跨多个微服务进行日志记录。 其中一些服务部署在本地,其中一些在 AWS/GCP 上。 我们的服务是基于 .NET 或 nodejs 的应用程序,我们投
我处于必须与 GCP 服务器建立 rabbitMQ 连接(我是消费者)的情况。我的代码也在 GCP 机器上。因此双方(一个是 MQ 生产者,另一个是我)决定创建一个本地网络连接,而不是进行外部 IP
我是 GCP 的新手。“GCP 服务”和“GCP 资源”之间的差异让我感到困惑。我认为 GCP 资源是物理 Assets ,例如计算机、硬盘驱动器、虚拟资源、CPU 和 RAM 等。但是 GCP 服务
Google 云平台多久更新(刷新)GCP 控制台上显示的结算费用?有固定的延迟还是实时的? 最佳答案 计费费用每天更新,发票每月生成。也可以通过编程方式按需检查使用情况,按照说明-> https:/
我在 GCP 存储桶中有以下格式的数据: gs://bucket/my_table/data_date=2021-03-26/000 gs://bucket/my_table/data_date=20
我使用 Terraform 在 GCP 中创建了一个服务帐户和一个自定义角色。如何将此自定义角色附加到服务帐户?我可以使用 GCP Console 来做到这一点,但这不是这里的需要,因为我必须使用 T
我正在学习 GCP,遇到了 Kuberflow 和 Google Cloud Composer。 据我了解,似乎两者都用于编排工作流,使用户能够在 GCP 中安排和监控管道。 我能弄清楚的唯一区别是
我们在 gcp 中需要 ufw 吗?还是 gcp 提供的防火墙足够好? 最佳答案 根据您想要实现的目标,您可以选择在 VM 实例级别或 GCP 级别使用防火墙。 出于安全原因,Google Cloud
我正在寻找一种方法来了解我为 GCP 虚拟机实例支付了多少费用。我有 4 个实例,当我转到计费帐户 -> 报告时,我通常会看到 Compute Engine 上特定项目的价格。 我的实例有窗口和许可以
我有一个已经发布到 Play 商店的 react-native 应用程序。在上次更新中,我遇到了这个错误,并且在描述中谷歌说 com.--.MainApplication.onCreate 我有一个由
我正在玩 spring gcp 项目。我的first example with GCP bucket工作正常并使用我在属性文件中指出的正确Google帐户: spring.cloud.gcp.cred
场景:存储在 GCP 存储桶中的图像文件需要通过 POST 发送到第三方 REST 端点 问题:这真的是最好的模式吗?有没有更有效、更简洁的方法? 我们有移动应用将图像上传到 GCP 存储桶。当图像上
我正在尝试使用Simba JDBC从本地连接GCP BigQuery,但收到错误。之前我遇到了服务帐户角色权限问题,这些问题已通过为服务帐户添加必要的角色来解决。服务帐户需要角色权限,但我仍收到错误
我的项目有一个依赖项,需要 python v3.6+。因此,它会在通过 pip 在 python 3 内核中安装时抛出错误,因为 AI Platform Notebooks 默认附带 v3.5。如何使
尝试在本地运行“java cloud run hello word sample”Cloud Run:在本地运行 我一直在努力 Enabling GCP auth addon... Failed to
尝试在本地运行“java cloud run hello word sample”Cloud Run:在本地运行 我一直在努力 Enabling GCP auth addon... Failed to
通过在 application.properties 文件中指定文件位置来传递服务帐户 key 文件(从 GCP 控制台生成)似乎很简单。但是,我尝试了以下所有选项: 1. spring.cloud.
我正在尝试从在 Google Cloud 上运行的常规 VM 实例(即 ubuntu-1904)上的私有(private) GCP 容器注册表中提取 docker 容器,但出现以下错误: user@t
我正在使用 zsh,并且我已经安装了 gcloud,以便通过我的 Mac 上的本地终端与 GCP 进行交互。我遇到了这个错误“zsh:找不到匹配项:apache-beam[gcp]”。但是,当我在 G
我有一个 Spring boot 项目,应该使用 spring-cloud-gcp-starter-sql-postgresql 连接 Cloud SQL 实例,以避免在项目中显式使用 IP . 到目
我是一名优秀的程序员,十分优秀!