New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[FLINK-22612][python] Restructure the coders in PyFlink #15877
Conversation
Thanks a lot for your contribution to the Apache Flink project. I'm the @flinkbot. I help the community Automated ChecksLast check on commit f607214 (Sat Aug 28 12:14:45 UTC 2021) Warnings:
Mention the bot in a comment to re-run the automated checks. Review Progress
Please see the Pull Request Review Guide for a full explanation of the review process. The Bot is tracking the review progress through labels. Labels are applied according to the order of the review items. For consensus, approval by a Flink committer of PMC member is required Bot commandsThe @flinkbot bot supports the following commands:
|
816de48
to
7ba1fe4
Compare
""" | ||
Coder for Table Function Row. | ||
""" | ||
class BeamCoder(FastCoder): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The name BeamCoder
seems not quite suitable. What about rename it to FlinkCoder
?
schema_proto = coder_param_proto.schema | ||
row_type = cls._to_row_type(schema_proto) | ||
return ArrowCoder(cls._to_arrow_schema(row_type), row_type, timezone, output_mode) | ||
elif data_type == flink_fn_execution_pb2.CoderParam.BATCH_OVER_WINDOW_ARROW: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about rename it to OVER_WINDOW_ARROW
to match with the class name OverWindowArrowCoder
?
FloatType, DoubleType, VarCharType, VarBinaryType, DecimalType, DateType, TimeType, \ | ||
LocalZonedTimestampType, RowType, RowField, to_arrow_type, TimestampType, ArrayType | ||
|
||
FLINK_CODER_URN = "flink:coder" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FLINK_CODER_URN = "flink:coder" | |
FLINK_CODER_URN = "flink:coder:v1" |
dc67929
to
12d8b6d
Compare
from pyflink.table.utils import pandas_to_arrow, arrow_to_pandas | ||
|
||
ROW_KIND_BIT_SIZE = 2 | ||
|
||
|
||
class TimeWindowCoderImpl(StreamCoderImpl): | ||
class BaseCoderImpl(ABC, StreamCoderImpl): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
class BaseCoderImpl(ABC, StreamCoderImpl): | |
class LengthPrefixBaseCoderImpl(ABC, StreamCoderImpl): |
@@ -44,6 +45,34 @@ | |||
_constant_num = 0 | |||
|
|||
|
|||
def wrap_table_function_result(it): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
def wrap_table_function_result(it): | |
def normalize_table_function_result(it): |
What is the purpose of the change
This pull request will restructure the coders in PyFlink
Brief change log
B
,IterableCoder
andValueCoder
Verifying this change
Does this pull request potentially affect one of the following parts:
@Public(Evolving)
: (no)Documentation