当前位置: 首页 > 知识库问答 >
问题:

addng ReadAllFromText转换时管道失败

伯晨
2023-03-14

我试图在Apache Beam中运行一个非常简单的程序来尝试它是如何工作的。

import apache_beam as beam


class Split(beam.DoFn):
    def process(self, element):
        return element


with beam.Pipeline() as p:
    rows = (p | beam.io.ReadAllFromText(
        "input.csv") | beam.ParDo(Split()))

在运行此操作时,我得到以下错误

.... some more stack....
 File "/home/raheel/code/beam-practice/lib/python2.7/site-packages/apache_beam/transforms/util.py", line 565, in expand
    windowing_saved = pcoll.windowing
  File "/home/raheel/code/beam-practice/lib/python2.7/site-packages/apache_beam/pvalue.py", line 137, in windowing
    self.producer.inputs)
  File "/home/raheel/code/beam-practice/lib/python2.7/site-packages/apache_beam/transforms/ptransform.py", line 464, in get_windowing
    return inputs[0].windowing
  File "/home/raheel/code/beam-practice/lib/python2.7/site-packages/apache_beam/pvalue.py", line 137, in windowing
    self.producer.inputs)
  File "/home/raheel/code/beam-practice/lib/python2.7/site-packages/apache_beam/transforms/ptransform.py", line 464, in get_windowing
    return inputs[0].windowing
AttributeError: 'PBegin' object has no attribute 'windowing'

谢谢

共有1个答案

卫弘义
2023-03-14

ReadAllFromText希望从文件的PCollection中读取,而不是将其作为参数传递。所以,在您的情况下,应该是:

p | beam.Create(["input.csv"])
  | beam.io.ReadAllFromText()
 类似资料:
  • 在此图像中,有2个并行源和2个并行接收器,由于数据源中的某些错误数据为日期2014-08-01,第一次转换失败。一旦2014-08-01转换失败,则2014-08-02转换被取消。2014-08-02转换没有坏数据。 是否有一种方法可以防止另一个转换的取消?

  • 问题内容: 在SQL 9(2005)中创建了一个存储过程,此后已升级到SQL 10(2008)。从那时起,以下存储过程停止工作并引发上述错误: 传入的参数@vPortalUID包含:2A66057D-F4E5-4E2B-B2F1-38C51A96D385。我执行这样的存储过程: 它跌倒了。我也尝试过转换。仍然没有喜悦。也具有将{}括起来的价值。我如上所述以编程方式和手动方式删除了这些内容。 如果您

  • 问题内容: 我有一个相当简单的分页查询,用于从表中获取行 该参数决定结果应按哪一列排序。 和都是日期时间字段。但是是varchar字段。 对于两个datetime字段,查询运行都很好,但是当出现以下错误时: “从字符串转换日期和/或时间时转换失败。” 我遇到的问题是我没有尝试转换任何东西吗? 问题答案: 您需要将您的语句划分为多个语句: 这是因为单个语句要求所有分支都具有兼容的数据类型。由于一个字

  • 问题内容: 我尝试搜索与此相关的以前的文章,但是找不到适合我情况的文章。而且由于我是StackOverflow的新手,所以我无法发布图片,所以我将尝试对其进行描述。 我有两个数据集。一个是34行,占所有s的1列。其他13行,其中1列为s。 当我同时尝试这两个时,出现以下错误: 将varchar值转换为int数据类型时,转换失败。 我不明白为什么会收到此错误。我之前编辑过许多列和许多其他类型的列,但

  • 在我们的应用程序中,我们有一个客户端/服务器对,它使用小型握手协议P1启动连接,之后它们切换到另一个协议P2。 对于 P1 协议,管道使用以下处理程序进行初始化: P1 握手协议成功完成后,流量应切换到 P2 协议,在这种情况下,我们首先清除管道,然后添加一组单独的处理程序 当接收到P1协议中的最后一条预期消息时,切换管道完成: 遇到的问题是,删除LengthFieldBasedFrameDeco

  • 我希望这里有人能帮忙。我一直在谷歌上疯狂地搜索这个错误,但没有发现任何东西。 我有一个管道,在本地执行时工作得很好,但在GCP上执行时会失败。以下是我得到的错误信息。 工作流失败。原因:S03:写入转换fn/WriteMetadata/ResolveBeamFutures/CreateSingleton/Read-WriteMetadata/ResolveBeamFutures/ResolveFu