Exemple #1
0
    def test_hash(self):
        schema = TableSchema(["a", "b", "c"],
                             [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])
        schema2 = TableSchema(["a", "b", "c"],
                              [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])

        self.assertEqual(hash(schema2), hash(schema))
Exemple #2
0
    def test_hash(self):
        schema = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])
        schema2 = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])

        assert hash(schema) == hash(schema2)
Exemple #3
0
    def get_schema(self) -> 'TableSchema':
        """
        Returns the :class:`~pyflink.table.TableSchema` of this table.

        :return: The schema of this table.
        """
        return TableSchema(j_table_schema=self._j_table.getSchema())
Exemple #4
0
    def get_schema(self):
        """
        Returns the :class:`TableSchema` of this table.

        :return: The schema of this table.
        """
        return TableSchema(j_table_schema=self._j_table.getSchema())
Exemple #5
0
    def test_get_field_count(self):
        schema = TableSchema(["a", "b", "c"],
                             [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])

        count = schema.get_field_count()

        self.assertEqual(3, count)
Exemple #6
0
    def get_schema(self):
        """
        Get the schema of the table.

        :return: Schema of the table/view.
        """
        return TableSchema(j_table_schema=self._j_catalog_base_table.getSchema())
Exemple #7
0
    def test_get_field_names(self):
        schema = TableSchema(["a", "b", "c"],
                             [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])

        names = schema.get_field_names()

        self.assertEqual(["a", "b", "c"], names)
    def test_get_schema(self):
        t = self.t_env.from_elements([(1, 'Hi', 'Hello')], ['a', 'b', 'c'])
        result = t.group_by(t.c).select(t.a.sum.alias('a'), t.c.alias('b'))
        schema = result.get_schema()

        assert schema == TableSchema(
            ["a", "b"],
            [DataTypes.BIGINT(), DataTypes.STRING()])
Exemple #9
0
    def test_copy(self):
        schema = TableSchema(["a", "b", "c"],
                             [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])

        copied_schema = schema.copy()

        self.assertEqual(schema, copied_schema)
        copied_schema._j_table_schema = None
        self.assertNotEqual(schema, copied_schema)
Exemple #10
0
    def test_get_field_name(self):
        schema = TableSchema(["a", "b", "c"],
                             [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])

        field_name = schema.get_field_name(2)
        field_name_not_exist = schema.get_field_name(3)

        self.assertEqual("c", field_name)
        self.assertIsNone(field_name_not_exist)
Exemple #11
0
    def test_repr(self):
        schema = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])

        assert repr(
            schema) == "root\n |-- a: INT\n |-- b: BIGINT\n |-- c: STRING\n"
Exemple #12
0
    def get_table_schema(self):
        """
        Get the schema of result.

        :return: The schema of result.
        :rtype: pyflink.table.TableSchema
        """
        return TableSchema(
            j_table_schema=self._j_table_result.getTableSchema())
Exemple #13
0
    def test_init(self):
        schema = TableSchema(["a", "b", "c"],
                             [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])

        self.assertEqual(3, schema.get_field_count())
        self.assertEqual(["a", "b", "c"], schema.get_field_names())

        self.assertEqual([DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()],
                         schema.get_field_data_types())
Exemple #14
0
    def test_repr(self):
        schema = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])

        expected = "root\n |-- a: INT\n |-- b: BIGINT\n |-- c: STRING\n"
        self.assertEqual(expected, repr(schema))
Exemple #15
0
    def get_table_schema(self):
        """
        Get the schema of result.

        :return: The schema of result.
        :rtype: pyflink.table.TableSchema

        .. versionadded:: 1.11.0
        """
        return TableSchema(j_table_schema=self._j_table_result.getTableSchema())
Exemple #16
0
    def test_get_field_names():
        schema = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])

        names = schema.get_field_names()

        assert names == ["a", "b", "c"]
Exemple #17
0
    def test_get_field_count():
        schema = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])

        count = schema.get_field_count()

        assert count == 3
Exemple #18
0
    def test_to_row_data_type(self):
        schema = TableSchema(["a", "b", "c"],
                             [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])

        row_type = schema.to_row_data_type()

        expected = DataTypes.ROW([DataTypes.FIELD("a", DataTypes.INT()),
                                  DataTypes.FIELD("b", DataTypes.BIGINT()),
                                  DataTypes.FIELD("c", DataTypes.STRING())])
        self.assertEqual(expected, row_type)
Exemple #19
0
    def test_schema(self):
        table_schema = TableSchema(["a", "b"], [DataTypes.INT(), DataTypes.STRING()])

        schema = Schema().schema(table_schema)

        properties = schema.to_properties()
        expected = {'schema.0.name': 'a',
                    'schema.0.data-type': 'INT',
                    'schema.1.name': 'b',
                    'schema.1.data-type': 'VARCHAR(2147483647)'}
        self.assertEqual(expected, properties)
Exemple #20
0
    def test_builder(self):
        schema_builder = TableSchema.builder()

        schema = schema_builder \
            .field("a", DataTypes.INT())\
            .field("b", DataTypes.BIGINT())\
            .field("c", DataTypes.STRING()).build()

        expected = TableSchema(["a", "b", "c"],
                               [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])
        self.assertEqual(expected, schema)
Exemple #21
0
    def test_get_field_name(self):
        schema = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])

        field_name = schema.get_field_name(2)
        field_name_not_exist = schema.get_field_name(3)

        assert field_name == "c"
        assert field_name_not_exist is None
Exemple #22
0
    def test_copy(self):
        schema = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])

        copied_schema = schema.copy()

        assert schema == copied_schema
        copied_schema._j_table_schema = None
        assert schema != copied_schema
Exemple #23
0
    def get_schema(self) -> TableSchema:
        """
        Get the schema of the table.

        :return: Schema of the table/view.

        . note:: Deprecated in 1.14. This method returns the deprecated TableSchema class. The old
        class was a hybrid of resolved and unresolved schema information. It has been replaced by
        the new Schema which is always unresolved and will be resolved by the framework later.
        """
        return TableSchema(
            j_table_schema=self._j_catalog_base_table.getSchema())
Exemple #24
0
    def test_schema():
        schema = Schema()
        table_schema = TableSchema(["a", "b"], [DataTypes.INT(), DataTypes.STRING()])

        schema = schema.schema(table_schema)

        properties = schema.to_properties()
        expected = {'schema.0.name': 'a',
                    'schema.0.type': 'INT',
                    'schema.1.name': 'b',
                    'schema.1.type': 'VARCHAR'}
        assert properties == expected
    def test_get_schema(self):
        t_env = self.t_env
        t = t_env.from_elements([(1, 'Hi', 'Hello'), (2, 'Hello', 'Hello'), (2, 'Hello', 'Hello')],
                                ['a', 'b', 'c'])
        field_names = ["a", "b"]
        field_types = [DataTypes.BIGINT(), DataTypes.STRING()]
        t_env.register_table_sink(
            "Results",
            field_names, field_types, source_sink_utils.TestRetractSink())

        result = t.group_by("c").select("a.sum as a, c as b")
        schema = result.get_schema()

        assert schema == TableSchema(["a", "b"], [DataTypes.BIGINT(), DataTypes.STRING()])
Exemple #26
0
    def test_init(self):
        schema = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])

        assert schema.get_field_count() == 3
        assert schema.get_field_names() == ["a", "b", "c"]
        assert schema.get_field_data_types() == [
            DataTypes.INT(),
            DataTypes.BIGINT(),
            DataTypes.STRING()
        ]
Exemple #27
0
    def test_get_field_data_types(self):
        schema = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])

        types = schema.get_field_data_types()

        assert types == [
            DataTypes.INT(),
            DataTypes.BIGINT(),
            DataTypes.STRING()
        ]
Exemple #28
0
    def test_builder():
        schema_builder = TableSchema.builder()

        schema = schema_builder \
            .field("a", DataTypes.INT())\
            .field("b", DataTypes.BIGINT())\
            .field("c", DataTypes.STRING()).build()

        expected = TableSchema(
            ["a", "b", "c"],
            [DataTypes.INT(),
             DataTypes.BIGINT(),
             DataTypes.STRING()])
        assert schema == expected
Exemple #29
0
    def test_get_field_data_type(self):
        schema = TableSchema(["a", "b", "c"],
                             [DataTypes.INT(), DataTypes.BIGINT(), DataTypes.STRING()])

        type_by_name = schema.get_field_data_type("b")
        type_by_index = schema.get_field_data_type(2)
        type_by_name_not_exist = schema.get_field_data_type("d")
        type_by_index_not_exist = schema.get_field_data_type(6)
        with self.assertRaises(TypeError):
            schema.get_field_data_type(None)

        self.assertEqual(DataTypes.BIGINT(), type_by_name)
        self.assertEqual(DataTypes.STRING(), type_by_index)
        self.assertIsNone(type_by_name_not_exist)
        self.assertIsNone(type_by_index_not_exist)
Exemple #30
0
    def test_schema(self):
        csv = OldCsv()
        schema = TableSchema(["a", "b"], [DataTypes.INT(), DataTypes.STRING()])

        csv = csv.schema(schema)

        properties = csv.to_properties()
        expected = {'format.fields.0.name': 'a',
                    'format.fields.0.data-type': 'INT',
                    'format.fields.1.name': 'b',
                    'format.fields.1.data-type': 'VARCHAR(2147483647)',
                    'format.type': 'csv',
                    'format.property-version': '1'}

        self.assertEqual(expected, properties)