dataflow相关内容

数据流Apache Beam Python作业被逐级卡住

我正在运行一个数据流作业,该作业从BigQuery中读取并在8 GB of data and result in more than 50,000,000 records.周围进行扫描.现在,我要一步一步地基于键进行分组,并且需要将一列连接起来.但是,当连接列的连接大小超过100 MB之后,为什么我必须在数据流作业中执行该分组依据,因为该分组依据无法在Bigquery level due to r ..
发布时间:2020-09-03 05:30:09 其他开发

在Apache Beam中创建自定义窗口功能

我有一个Beam管道,该管道首先读取多个文本文件,其中文件中的每一行代表一行,稍后将在该管道的Bigtable中插入该行.该方案需要确认从每个文件中提取的行数.后来插入Bigtable匹配项的行数.为此,我计划开发一个自定义的Windowing策略,以便将基于文件名的键将单个文件中的行分配给单个窗口,并将其传递给Windowing函数. 是否有用于创建自定义Windowing函数的代码示例? ..
发布时间:2020-09-03 05:28:37 其他开发

在配置的时间后以编程方式终止Subscription的PubSubIO.readMessages吗?

我正在计划从PubSub主题的下标中安排具有PubSubIO.readString的数据流.在配置的间隔后如何终止工作?我的用例不是要使该工作持续一整天,因此希望排定开始的时间,然后在经过配置的间隔后从该工作中停止. Pipeline .apply(PubsubIO.readMessages().fromSubscription("some-subscription")) 解决方 ..

多个CoGroupByKey具有相同的apache梁

我遇到一种情况,需要将管道中的主数据流(1.5TB)加入2个不同的数据集(4.92GB和17.35GB).我用于两者的CoGroupByKey的键是相同的.有没有一种方法可以避免在第一个完成后重新组合联接的左侧?目前,我只是将输出保留为KV>.这似乎比第一次联接后分段发射每个元素更好,但是第二个groupByKey似乎仍然比我期望的要花费更长的时间.我本来打算研究将CoGroupByKey分开,以 ..
发布时间:2020-09-03 05:21:53 其他开发

通过在Apache Beam中创建模板,无法按所需顺序运行多个管道

我有两条单独的管道,分别是"P1"和"P2".根据我的要求,我仅在P1完全完成执行后才需要运行P2.我需要通过单个模板完成整个操作. 基本上,模板在找到run()时即以p1.run()的方式创建. 所以我看到我需要使用两个不同的模板来处理两个不同的管道,但这不能满足我严格的基于订单的管道执行要求. 我可以想到的另一种方法是,在 p2.run()的ParDo中调用 p1.run() ..
发布时间:2020-09-03 05:18:01 其他开发

我如何执行"diff"操作在使用Apache Beam Python SDK给出密钥的两个来源上?

我一般性地提出了这个问题,因为也许这是一个一般性的答案.但是一个特定的示例是将2个BigQuery表与相同的架构进行比较,但可能会有不同的数据.我想要一个差异,即相对于复合键,例如,添加,删除,修改的内容前2列. Table A C1 C2 C3 ----------- a a 1 a b 1 a c 1 Table B C1 C2 C3 # N ..
发布时间:2020-09-03 05:15:08 其他开发

如何在Google Dataflow中创建个性化WindowFn

我想以不同的方式创建一个不同的WindowFn,以便根据另一个字段而不是根据输入条目的时间戳将Windows分配给我的任何输入元素.我知道Google DataFlow SDK中的预定义WindowFn使用时间戳作为分配窗口的条件. 更具体地说,我想创建一种SlidingWindows,但与其考虑将时间戳作为窗口分配标准,不如将其他字段视为该条件. 如何创建自定义的WindowFn?创 ..
发布时间:2020-09-03 05:10:32 Java开发

Beam/Dataflow 2.2.0-从pcollection中提取前n个元素

有什么方法可以提取光束集合中的前n个元素?该文档似乎并未指示任何此类功能.我认为这样的操作首先需要分配全局元素编号,然后需要过滤器-拥有此功能会很不错. 我使用Google DataFlow Java SDK 2.2.0. 解决方案 PCollection本身是无序的,因此不存在“前N个元素"的概念-但是: 如果根据某些条件需要前N个元素,则可以使用 如果需要N个元素,则可以 ..
发布时间:2020-09-03 05:08:22 Java开发

Beam/Dataflow自定义Python作业-从Cloud Storage到PubSub

我需要对某些数据执行非常简单的转换(从JSON中提取一个字符串),然后将其写入PubSub-我正尝试使用自定义的python Dataflow作业来完成此操作. 我写了一份可以成功写回Cloud Storage的作业,但是我尝试最简单的写入PubSub(不进行转换)的尝试都会导致错误:JOB_MESSAGE_ERROR: Workflow failed. Causes: Expected c ..

在Eclipse上使用Dataflow Runner的Apache Beam MinimalWordcount示例

我试图在Windows上使用MinimalWordCount在Windows上使用Eclipse的DataFlowRunner运行MinimalWordCount示例->使用eclipse中的With As Java Application运行,其示例代码与使用gcs存储区的示例相同,但是我始终如一地得到除了例外,有人可以让我知道这里的问题吗? 我已验证存储桶名称正确. 我已经在Windo ..
发布时间:2020-09-03 05:03:13 Java开发

节流梁应用中的一个步骤

我在google dataflow上使用python beam,我的管道如下所示: 从文件中读取图像URL >>下载图像>>处理图像 问题是我不能让下载图像逐步扩展,因为我的应用程序可能会被图像服务器阻止. 这是我可以限制步伐的一种方法吗?每分钟输入或输出. 谢谢. 解决方案 一种可能是幼稚的方法是在步骤中引入睡眠.为此,您需要知道可以同时运行的ParDo实例的最大 ..
发布时间:2020-09-03 05:03:03 Python

在哪个阶段,Dataflow/Apache Beam会确认发布/订阅消息?

我有一个使用Pub/Sub订阅作为无限制源的数据流流作业.我想知道数据流在哪个阶段终止传入的pub/sub消息.在我看来,如果在数据流管道的任何阶段都抛出异常,则消息丢失. 我还想了解如何使用发布/订阅无限制源编写数据流管道的最佳实践,以便在失败时进行消息检索.谢谢! 解决方案 在捆绑成功并且捆绑的结果(输出和状态突变等)已被持久提交之后,数据流流运行程序将解析由捆绑接收的pubsu ..

使用Python SDK进行数据流流传输:将PubSub消息转换为BigQuery输出

我正在尝试使用数据流读取pubsub消息并将其写入大查询. Google团队为我提供了alpha访问权限,并且可以使提供的示例正常工作,但是现在我需要将其应用于我的方案. Pubsub有效负载: Message { data: {'datetime': '2017-07-13T21:15:02Z', 'mac': 'FC:FC:48:AE:F6:94', 'status': 1 ..

Apache Beam窗口:考虑较晚的数据,但仅发出一个窗格

我想在水印到达窗口末尾x分钟后发出一个窗格.这让我确保可以处理一些较晚的数据,但仍只发出一个窗格.我目前正在使用Java. 目前,我找不到适合该问题的解决方案.当水印到达窗口的末端时,我可以发出一个窗格,但是所有后期数据都将被丢弃.我可以在窗口末尾发出窗格,然后在收到较晚的数据时再次发出,但是在这种情况下,我不会发出单个窗格. 我目前有与此类似的代码: .triggering( ..
发布时间:2020-07-14 04:30:07 Java开发

在数据流覆盖范围内,返回变量是否使用它?

我的脑海中有一个小问题.我在Internet上对其进行了研究,但没有人提供确切的答案.我的问题是: 在数据流覆盖标准中,有一种方法最终返回变量x.在为该方法绘制图形时,该return语句是否被视为使用x? 解决方案 是的,return语句使用它返回的值.我也找不到权威的参考,也没有用简单的英语说出这样的含义,但是这里有两个参数: return语句将控制权从程序的一个部分传递到另 ..
发布时间:2020-07-10 23:35:55 其他开发

在Flink中的运营商之间共享状态

我想知道Flink是否有可能在运营商之间共享状态. 例如,说我在操作员上按键进行分区,并且我需要在分区C内处于分区A的一种状态(出于某种原因)(图1.a),或者我需要下游运算符F中运算符C的状态(图1.b). 我知道可以将broadcast记录到所有分区.因此,如果在记录中包含运算符的内部状态,则可以与下游运算符共享您的内部状态. 但是,这可能是昂贵的操作,而不是简单地让op1专门要 ..
发布时间:2020-07-10 01:48:52 其他开发

数据流编程和响应式编程有什么区别?

我真的看不到它们之间的区别.它们既涉及流经指令的数据,也涉及输入数据中更改的传播. 我读过这本书(由Matt Carcki撰写),它清楚地表明它们都是相同的.另一方面,维基百科将响应式编程确立为数据流编程的一种形式,并且那么,响应式编程和数据流编程之间的概念区别是什么? 解决方案 反应式编程仅是数据流编程的一种形式.但它也是一个范式,它围绕更改与数据流的传播而传播 就像 Wiki页面 ..