问题标签 [google-cloud-dataflow]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
151 浏览

google-cloud-dataflow - 谷歌云数据流作业中的数据完整性错误

我注意到我的一个数据流作业产生了输出,我可以最好地描述为太多随机位翻转。例如,年份“2014”(作为文本)写为“0007”或“2016”或“0052”或其他文本值。在某些情况下,输出行格式是有效的(这表明在处理过程中发生了某些事情),但似乎也有几行格式错误(例如,“20141215-04-25”而不是“2014-12-25”之类的东西)。

我偶尔会使用相同的代码和不同的日期范围参数重新运行作业,并且对于这个特定的日期范围,作业直到大约一周前才成功完成。虽然我一直在尝试不同的机器配置(4 cpu 和 1-cpu 实例),但问题似乎更多地发生在 4-cpu 实例上。

有谁知道可能导致这种情况的原因是什么?

谢谢,G

0 投票
1 回答
401 浏览

java - 确定导致 Google Dataflow 作业失败的特定输入数据

我遇到了一个问题,我使用 Dataflow 解析文本文件,然后将相关数据放入 BQ。该问题似乎是由文本文件中的一行格式错误的输入引起的。我能够修复错误,但它让我思考:如果我有一行输入数据流,有什么办法可以找出这条线?这将使 Dataflow 调试的一部分变得更加容易,特别是如果您的输入文件有几十亿行并且您必须追踪导致问题的一行。

例如,假设我正在向 BigQuery 发布我认为是整数的数据。我可能会像这样创建我的架构:

我可能会使用此函数将输入数据映射到 BigQuery 架构:

但是,当 Dataflow 遇到我的格式错误的输入(不是整数)时,我收到如下错误:

工作流失败。原因:(30d455a6f7aaaaaa):项目“项目名称”中的 BigQuery 作业“dataflow_job_3518531384490999999”完成错误:作业错误:无法将值转换为整数(错误值或超出范围)。,错误:无法转换值到整数(错误值或超出范围)。,错误:无法将值转换为整数(错误值或超出范围)。,错误:无法将值转换为整数(错误值或超出范围)。,错误:无法将值转换为整数(错误值或超出范围)。错误:无法将值转换为整数(错误值或超出范围)。

在这种特殊情况下,我应该在尝试将其放入 BigQuery 之前验证我的输入是否为预期的整数(然后记录任何未通过验证的数据)。但是一般问题仍然存在——假设我想查看导致此错误的输入,因为(我认为)我已经执行了所有适当的输入验证,并且不知道哪种格式错误的数据可能会导致此错误。我该怎么做?我在想某种 try/catch 类型的技巧(可能涉及日志消息)可能会起作用,但我不确定如何做到这一点。

谢谢!

0 投票
2 回答
220 浏览

google-cloud-dataflow - 使用 Google Dataflow 生成数据

假设我想生成 100 万亿条数据(为了简单起见,使用随机数),我想使用 Google Dataflow 来完成。

我可以想到一个愚蠢的方法来做到这一点(我不是 100% 确定这会起作用,但这是我开始尝试的地方):获取一个 1000 万行长的文本文件,并且对于输入中的每一行文本文件有一个循环 1000 万次迭代的 DoFn,每次迭代输出一个随机生成的数字,最终都输出到一个文本文件。(原始文本文件中的任何内容都将被忽略)。

但我不禁想到,使用 Dataflow 生成数据可能有更好、更简单的方法。关于更好的方法来做到这一点的任何建议?

谢谢!

0 投票
2 回答
1375 浏览

google-cloud-dataflow - 使用 Cloud Dataflow 的“侧面输入”可以在本地工作,但在云端执行时不行

我们为 ParDo 定义了 2 个 BigQuery 侧输入,由docs指定。当管道在本地执行(即 DirectPipelineRunner)时,侧输入工作正常。但是,当它在云中执行时,它会出现以下问题:

为什么它可以在本地工作,但在通过云执行时却不行?

编辑更新 1

通过为转换的每个步骤创建一个新的 ParDo 实例,我们设法解决了 IllegalArgumentException。然而,现在我们在尝试处理侧输入时得到一个类转换异常(再次,这在本地执行时运行得很好):

职位编号:2015-03-16_01_10_11-6267129041459219709

编辑更新 2

尝试针对 Github 中的最新源进行构建,因为延迟将其推出到 Maven。现在似乎是一个回归错误。当查询ProcessContext侧面输入时,它返回null.

但是,就像以前一样,它在本地完美运行。

0 投票
1 回答
727 浏览

google-cloud-dataflow - 提交云数据流作业时出错

从几天前开始,我不再能够提交我的数据流作业,它们因以下错误而失败。

我尝试提交简单的 WordCount 作业并成功。即使我自己的工作非常简化,一切都很好。但是当我添加更多代码(添加 GroupByKey 转换)时,我不再能够提交它。

有谁知道这个错误是什么意思?

谢谢,G

0 投票
1 回答
276 浏览

google-cloud-dataflow - Google DataFlow 示例 TrafficStreamingMaxLaneFlow 执行

我已成功运行 WordCount 示例,但未能运行 TrafficStreamingMaxLaneFlow 示例我应该使用哪些参数?我的命令行: mvn exec:java -pl examples -Dexec.mainClass=com.google.cloud.dataflow.examples.TrafficStreamingMaxLaneFlow -Dexec.args="--project=sturdy-analyzer-658 --inputTopic=xxxInputTopic --dataset=xxxDataset --table=MIS --runner=BlockingDataflowPipelineRunner"

结果:

0 投票
1 回答
277 浏览

google-cloud-dataflow - 谷歌云数据流从压缩文件中读取

我需要从 GCS 中压缩的文件中解析 json 数据,因为文件扩展名为 .gz,因此它应该由数据流重新组织和正确处理,但是作业日志打印出不可读的字符和未处理的数据。当我处理未压缩的数据时,它工作正常。我使用以下方法来映射/解析 json:

知道可能是什么原因吗?

====================================

要添加有关如何从输入文件中读取的更多详细信息:

  1. 创建管道:

    /li>
  2. 运行时配置:

    /li>
  3. 输入文件名示例:file.gz,以及命令 gsutil ls -L gs://bucket/input/file.gz 的输出 | grep 内容- 是:

    /li>
0 投票
1 回答
216 浏览

google-cloud-dataflow - Google DataFlow SDK 编译错误

我已经提取了 DataFlow SDK 并成功地将其作为 Eclipse 项目打开。我总共看到 66 个错误,基本问题是

说明资源路径位置类型构造函数SpecificDatumReader(Class)指的是缺少的类型User AvroIOTest.java /google-cloud-dataflow-java-sdk-all/src/test/java/com/google/cloud/dataflow/sdk/io第 125 行 Java 问题

我不知道这门课在哪里。

0 投票
1 回答
126 浏览

shuffle - 使用 DataFlow 对文本文件中的行进行洗牌的好方法

我有一个很长的文本文件(几百 GB),我想改组其中的行。我想知道是否有使用 DataFlow 的好方法。我想如果我只是将文件放入并有一个运行仅输出行的 DoFn 的 ParDo,我会得到一个小的洗牌。但最好对文件进行更全面的改组。有什么好主意吗?

0 投票
1 回答
56 浏览

google-cloud-dataflow - Cloud Dataflow 作业成功,但之后资源没有被拆除/销毁

今天运行我们的 CDF 工作,它很成功。身份证是:

2015-03-12_16_45_27-1664852687091388734

然而,当工作完成时,它的虚拟机/实例并没有像往常一样被拆除。我不得不手动删除它们(100)。

为什么工作完成后资源没有被拆除?

--编辑更新--

我们还有另一项工作完成,但之后资源没有被拆除:2015-03-17_21_27_12-7893426695197902407