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

如何在Python中测试Beam pipeline(Google Dataflow)?

孙思源
2023-03-14

上面的链接只针对Java。我很困惑为什么谷歌会指向Java Apache测试。

我希望能够查看两个p集合上的CoGroupByKey联接的结果。我来自Python背景,几乎没有使用beam/dataflow的经验。

下面的代码

    #dwsku, product are PCollections coming from BigQuery. Nested Values as 
    #well in Product, but not dwsku
    d1 = {'dwsku': dwsku, 'product': product}
    results = d1 | beam.CoGroupByKey()
    print results

打印的内容:

    PCollection[CoGroupByKey/Map(_merge_tagged_vals_under_key).None]

共有1个答案

勾向文
2023-03-14

如果您想在计算机上本地测试它,您应该从使用Directrunner开始,然后可以通过打印日志或在调试器中停止执行来调试它。

为了在本地查看整个PCollection,您可以执行以下操作:

d1 = {'dwsku': dwsku, 'product': product}
results = d1 | beam.CoGroupByKey()

def my_debug_function(pcollection_as_list):
    # add a breakpoint in this function or just print
    print pcollection_as_list

debug = (results | beam.combiners.ToList() | beam.Map(my_debug_function))

这里有几件事要记住:

    null
 类似资料:
  • 问题内容: 我有一个有时返回NoneType值的方法。那么我如何质疑一个无类型的变量呢?例如,我需要使用 if 方法 我知道这是错误的方式,希望您能理解我的意思。 问题答案: 那么我如何质疑一个无类型的变量呢? 像这样使用运算符 为什么这样有效? 由于是Python中唯一的单例对象,因此我们可以使用operator来检查其中是否包含变量。 引用文档, 运算符和对象标识测试:当且仅当和是相同对象时为

  • 我有一个有时返回非类型值的方法。那么,我如何质疑一个非类型的变量呢?例如,我需要使用if方法 我知道这是错误的方式,我希望你明白我的意思。

  • 问题内容: 如何进行F检验以检查Python中两个向量的方差是否相等? 例如,如果我有 是否有类似的东西 我发现 但这似乎与F检验有所不同 问题答案: 方差相等的检验统计量F检验很简单: 哪里分布为 您在问题中提到的方法具有CDF方法。这意味着您可以为给定的统计信息生成一个p值,并测试该p值是否大于您选择的alpha级别。 从而: 请注意,F检验对X和Y的非正态性极为敏感,因此,除非您有理由确定X

  • 许多标准库不使用类名,如何从命令行运行单个测试用例或将其添加到测试套件中? 这里提出了类似的问题,但所有解决方案都假设测试用例驻留在具有有效类名的文件中。 从unittest运行单个测试。通过命令行测试用例

  • 我试图用Jasmine为Angularjs编写单元测试。这是我的控制器: 和测试 测试失败,即使我试图测试期望(true). toBe(true); 茉莉花,因果报应,棱角分明的嘲弄都在我的索引里。jasmine调试页面中的html,还有测试脚本。 我发现如果删除beforeach()块,expect(true)。托比(真的)通过了。 下面是一个错误:

  • 在Android Espresso测试中有什么好的方法来测试结果代码和数据吗?我在用浓缩咖啡2.0。 定义一个新方法,如并使用该方法以便可以截获,等等。 编写一个只用于测试的TestActivity,它将调用上的,并在中检查结果 试着思考这两个坏处中什么是较小的,或者是否有任何其他关于如何测试这一点的建议。有什么建议吗?谢了!