def test_row_coder(self): from pyflink.table import Row field_coder = BigIntCoder() field_count = 10 coder = RowCoder([field_coder for _ in range(field_count)]) v = Row(*[None if i % 2 == 0 else i for i in range(field_count)]) self.check_coder(coder, v)
def test_flatten_row_coder(self): field_coder = BigIntCoder() field_count = 10 coder = FlattenRowCoder([field_coder for _ in range(field_count)]).get_impl() v = [None if i % 2 == 0 else i for i in range(field_count)] generator_result = coder.decode(coder.encode(v)) result = [] for item in generator_result: result.append(item) self.assertEqual([v], result)
def test_row_coder(self): from pyflink.common import Row, RowKind field_coder = BigIntCoder() field_count = 10 coder = RowCoder([field_coder for _ in range(field_count)]) v = Row(*[None if i % 2 == 0 else i for i in range(field_count)]) v.set_row_kind(RowKind.INSERT) self.check_coder(coder, v) v.set_row_kind(RowKind.UPDATE_BEFORE) self.check_coder(coder, v) v.set_row_kind(RowKind.UPDATE_AFTER) self.check_coder(coder, v) v.set_row_kind(RowKind.DELETE) self.check_coder(coder, v)
def test_row_coder(self): from pyflink.common import Row, RowKind field_coder = BigIntCoder() field_count = 10 field_names = ['f{}'.format(i) for i in range(field_count)] coder = RowCoder([field_coder for _ in range(field_count)], field_names) v = Row(**{ field_names[i]: None if i % 2 == 0 else i for i in range(field_count) }) v.set_row_kind(RowKind.INSERT) self.check_coder(coder, v) v.set_row_kind(RowKind.UPDATE_BEFORE) self.check_coder(coder, v) v.set_row_kind(RowKind.UPDATE_AFTER) self.check_coder(coder, v) v.set_row_kind(RowKind.DELETE) self.check_coder(coder, v) coder = RowCoder([BigIntCoder(), CharCoder()], ['f1', 'f0']) v = Row(f0="flink", f1=11) self.check_coder(coder, v)
def test_bigint_coder(self): coder = BigIntCoder() self.check_coder(coder, 1, 100, -100, -1000)
def test_map_coder(self): key_coder = CharCoder() value_coder = BigIntCoder() coder = MapCoder(key_coder, value_coder) self.check_coder(coder, {'flink': 1, 'pyflink': 2, 'coder': None})
def test_array_coder(self): element_coder = BigIntCoder() coder = BasicArrayCoder(element_coder) self.check_coder(coder, [1, 2, 3, None])
def test_flatten_row_coder(self): field_coder = BigIntCoder() field_count = 10 coder = FlattenRowCoder([field_coder for _ in range(field_count)]) self.check_coder( coder, [None if i % 2 == 0 else i for i in range(field_count)])