def test_cython_row_coder(self): from pyflink.common import Row, RowKind field_count = 15 field_names = ['f{}'.format(i) for i in range(field_count)] row = Row(**{ field_names[i]: None if i % 2 == 0 else i for i in range(field_count) }) data = [row] python_field_coders = [ coder_impl.RowCoderImpl( [coder_impl.BigIntCoderImpl() for _ in range(field_count)], row._fields) ] cython_field_coders = [ coder_impl_fast.RowCoderImpl([ coder_impl_fast.BigIntCoderImpl() for _ in range(field_count) ], row._fields) ] row.set_row_kind(RowKind.INSERT) self.check_cython_coder(python_field_coders, cython_field_coders, data) row.set_row_kind(RowKind.UPDATE_BEFORE) self.check_cython_coder(python_field_coders, cython_field_coders, data) row.set_row_kind(RowKind.UPDATE_AFTER) self.check_cython_coder(python_field_coders, cython_field_coders, data) row.set_row_kind(RowKind.DELETE) self.check_cython_coder(python_field_coders, cython_field_coders, data)
def test_cython_array_coder(self): data = [[1, 2, 3, None]] python_field_coders = [coder_impl.ArrayCoderImpl(coder_impl.BigIntCoderImpl()) for _ in range(len(data))] cython_field_coders = [coder_impl_fast.ArrayCoderImpl(coder_impl_fast.BigIntCoderImpl()) for _ in range(len(data))] self.check_cython_coder(python_field_coders, cython_field_coders, [data])
def test_cython_row_coder(self): from pyflink.common import Row, RowKind field_count = 2 row = Row(*[None if i % 2 == 0 else i for i in range(field_count)]) data = [row] python_field_coders = [ coder_impl.RowCoderImpl( [coder_impl.BigIntCoderImpl() for _ in range(field_count)]) ] cython_field_coders = [ coder_impl_fast.RowCoderImpl([ coder_impl_fast.BigIntCoderImpl() for _ in range(field_count) ]) ] row.set_row_kind(RowKind.INSERT) self.check_cython_coder(python_field_coders, cython_field_coders, [data]) row.set_row_kind(RowKind.UPDATE_BEFORE) self.check_cython_coder(python_field_coders, cython_field_coders, [data]) row.set_row_kind(RowKind.UPDATE_AFTER) self.check_cython_coder(python_field_coders, cython_field_coders, [data]) row.set_row_kind(RowKind.DELETE) self.check_cython_coder(python_field_coders, cython_field_coders, [data])
def test_cython_bigint_coder(self): data = [1, 100, -100, -1000] python_field_coders = [ coder_impl.BigIntCoderImpl() for _ in range(len(data)) ] cython_field_coders = [ coder_impl_fast.BigIntCoderImpl() for _ in range(len(data)) ] self.check_cython_coder(python_field_coders, cython_field_coders, data)
def test_cython_map_coder(self): data = [{'flink': 1, 'pyflink': 2, 'coder': None}] python_field_coders = [coder_impl.MapCoderImpl(coder_impl.CharCoderImpl(), coder_impl.BigIntCoderImpl()) for _ in range(len(data))] cython_field_coders = [coder_impl_fast.MapCoderImpl(coder_impl_fast.CharCoderImpl(), coder_impl_fast.BigIntCoderImpl()) for _ in range(len(data))] self.check_cython_coder(python_field_coders, cython_field_coders, [data])
def test_cython_row_coder(self): from pyflink.table import Row field_count = 2 data = [Row(*[None if i % 2 == 0 else i for i in range(field_count)])] python_field_coders = [coder_impl.RowCoderImpl([coder_impl.BigIntCoderImpl() for _ in range(field_count)])] cython_field_coders = [coder_impl_fast.RowCoderImpl([coder_impl_fast.BigIntCoderImpl() for _ in range(field_count)])] self.check_cython_coder(python_field_coders, cython_field_coders, [data])
def test_cython_primitive_array_coder(self): data = [[1, 2, 3, 4]] python_field_coders = [ coder_impl.PrimitiveArrayCoderImpl(coder_impl.BigIntCoderImpl()) for _ in range(len(data)) ] cython_field_coders = [ coder_impl_fast.PrimitiveArrayCoderImpl( coder_impl_fast.BigIntCoderImpl()) for _ in range(len(data)) ] self.check_cython_coder(python_field_coders, cython_field_coders, data)