.. ################################################################################ Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. ################################################################################ =========== Descriptors =========== TableDescriptor --------------- Describes a CatalogTable representing a source or sink. TableDescriptor is a template for creating a CatalogTable instance. It closely resembles the "CREATE TABLE" SQL DDL statement, containing schema, connector options, and other characteristics. Since tables in Flink are typically backed by external systems, the descriptor describes how a connector (and possibly its format) are configured. This can be used to register a table in the Table API, see :func:`create_temporary_table` in TableEnvironment. .. currentmodule:: pyflink.table.table_descriptor .. autosummary:: :toctree: api/ TableDescriptor.for_connector TableDescriptor.get_schema TableDescriptor.get_options TableDescriptor.get_partition_keys TableDescriptor.get_comment TableDescriptor.Builder.schema TableDescriptor.Builder.option TableDescriptor.Builder.format TableDescriptor.Builder.partitioned_by TableDescriptor.Builder.comment TableDescriptor.Builder.build FormatDescriptor ---------------- Describes a Format and its options for use with :class:`~pyflink.table.TableDescriptor`. Formats are responsible for encoding and decoding data in table connectors. Note that not every connector has a format, while others may have multiple formats (e.g. the Kafka connector has separate formats for keys and values). Common formats are "json", "csv", "avro", etc. .. currentmodule:: pyflink.table.table_descriptor .. autosummary:: :toctree: api/ FormatDescriptor.for_format FormatDescriptor.get_format FormatDescriptor.get_options FormatDescriptor.Builder.option FormatDescriptor.Builder.build Schema ------ Schema of a table or view. A schema represents the schema part of a {@code CREATE TABLE (schema) WITH (options)} DDL statement in SQL. It defines columns of different kind, constraints, time attributes, and watermark strategies. It is possible to reference objects (such as functions or types) across different catalogs. This class is used in the API and catalogs to define an unresolved schema that will be translated to ResolvedSchema. Some methods of this class perform basic validation, however, the main validation happens during the resolution. Thus, an unresolved schema can be incomplete and might be enriched or merged with a different schema at a later stage. Since an instance of this class is unresolved, it should not be directly persisted. The str() shows only a summary of the contained objects. .. currentmodule:: pyflink.table.schema .. autosummary:: :toctree: api/ Schema.Builder.from_schema Schema.Builder.from_row_data_type Schema.Builder.from_fields Schema.Builder.column Schema.Builder.column_by_expression Schema.Builder.column_by_metadata Schema.Builder.watermark Schema.Builder.primary_key Schema.Builder.primary_key_named Schema.Builder.build TableSchema ----------- A table schema that represents a table's structure with field names and data types. .. currentmodule:: pyflink.table.table_schema .. autosummary:: :toctree: api/ TableSchema.copy TableSchema.get_field_data_types TableSchema.get_field_data_type TableSchema.get_field_count TableSchema.get_field_names TableSchema.get_field_name TableSchema.to_row_data_type TableSchema.Builder.field TableSchema.Builder.build ChangelogMode ------------- The set of changes contained in a changelog. .. currentmodule:: pyflink.table.changelog_mode .. autosummary:: :toctree: api/ ChangelogMode.insert_only ChangelogMode.upsert ChangelogMode.all