We could make the Sample class uninstantiable to give a slightly more specific error here. Not sure how much that would help though.
On Tue, Dec 17, 2019 at 4:40 PM Robert Bradshaw <[email protected]> wrote: > beam.transforms.combiners.Sample is a container class that hails back > to the days when folks more familiar with Java were just copying > things over, and is just an empty class containing actual transforms > (as Kyle indicates). These are shorthand for > beam.CombineGlobally(beam.transforms.combiners.SampleCombineFn(...)), > beam.CombinePerKey(beam.transforms.combiners.SampleCombineFn(...)), , > etc. > > On Tue, Dec 17, 2019 at 2:10 PM Kyle Weaver <[email protected]> wrote: > > > > Looks like you need to choose a subclass of sample. Probably > FixedSizeGlobally in your case. For example, > > > > beam.transforms.combiners.Sample.FixedSizeGlobally(5) > > > > Source: > https://github.com/apache/beam/blob/df376164fee1a8f54f3ad00c45190b813ffbdd34/sdks/python/apache_beam/transforms/combiners.py#L619 > > > > On Tue, Dec 17, 2019 at 2:01 PM Marco Mistroni <[email protected]> > wrote: > >> > >> HI all > >> beam noob. > >> > >> i have written a beam app where i am processing content of a file > >> for dbeugging purposes, i wanted to get a samle of the lines in the > file..using > >> the Sample combiner, but i cannot find any examples in python > >> Here's my rough code > >> > >> ... > >> | 'Filter only row longer than 100 chars' >> beam.Filter(lambda row: > len(row) > 100) > >> | 'sampling lines' >> beam.transforms.combiners.Sample() > >> > >> but the code above gives me > >> > >> TypeError: unsupported operand type(s) for >>: 'str' and 'Sample' > >> Could anyone help? > >> kind regards > >> Marco > >> > >> > >> >
