You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Leonard Xu (Jira)" <ji...@apache.org> on 2023/03/12 09:26:00 UTC
[jira] [Assigned] (FLINK-30959) Improve the documentation of UNIX_TIMESTAMP for different argument format
[ https://issues.apache.org/jira/browse/FLINK-30959?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Leonard Xu reassigned FLINK-30959:
----------------------------------
Assignee: ruanhang1993
> Improve the documentation of UNIX_TIMESTAMP for different argument format
> -------------------------------------------------------------------------
>
> Key: FLINK-30959
> URL: https://issues.apache.org/jira/browse/FLINK-30959
> Project: Flink
> Issue Type: Improvement
> Components: Documentation, Table SQL / API
> Affects Versions: 1.16.1
> Reporter: Yunfeng Zhou
> Assignee: ruanhang1993
> Priority: Major
> Fix For: 1.17.0, 1.16.2
>
>
> When running the following pyflink program
>
> {code:python}
> import pandas as pd
> from pyflink.datastream import StreamExecutionEnvironment, HashMapStateBackend
> from pyflink.table import StreamTableEnvironment
> if __name__ == "__main__":
> input_data = pd.DataFrame(
> [
> ["Alex", 100.0, "2022-01-01 08:00:00.001 +0800"],
> ["Emma", 400.0, "2022-01-01 00:00:00.003 +0000"],
> ["Alex", 200.0, "2022-01-01 08:00:00.005 +0800"],
> ["Emma", 300.0, "2022-01-01 00:00:00.007 +0000"],
> ["Jack", 500.0, "2022-01-01 08:00:00.009 +0800"],
> ["Alex", 450.0, "2022-01-01 00:00:00.011 +0000"],
> ],
> columns=["name", "avg_cost", "time"],
> )
> env = StreamExecutionEnvironment.get_execution_environment()
> env.set_state_backend(HashMapStateBackend())
> t_env = StreamTableEnvironment.create(env)
> input_table = t_env.from_pandas(input_data)
> t_env.create_temporary_view("input_table", input_table)
> time_format = "yyyy-MM-dd HH:mm:ss.SSS X"
> output_table = t_env.sql_query(
> f"SELECT *, UNIX_TIMESTAMP(`time`, '{time_format}') AS unix_time FROM input_table"
> )
> output_table.execute().print()
> {code}
> The actual output is
> {code}
> +----+--------------------------------+--------------------------------+--------------------------------+----------------------+
> | op | name | avg_cost | time | unix_time |
> +----+--------------------------------+--------------------------------+--------------------------------+----------------------+
> | +I | Alex | 100.0 | 2022-01-01 08:00:00.001 +0800 | 1640995200 |
> | +I | Emma | 400.0 | 2022-01-01 00:00:00.003 +0000 | 1640995200 |
> | +I | Alex | 200.0 | 2022-01-01 08:00:00.005 +0800 | 1640995200 |
> | +I | Emma | 300.0 | 2022-01-01 00:00:00.007 +0000 | 1640995200 |
> | +I | Jack | 500.0 | 2022-01-01 08:00:00.009 +0800 | 1640995200 |
> | +I | Alex | 450.0 | 2022-01-01 00:00:00.011 +0000 | 1640995200 |
> +----+--------------------------------+--------------------------------+--------------------------------+----------------------+
> {code}
> While the expected result is
> {code:java}
> +----+--------------------------------+--------------------------------+--------------------------------+----------------------+
> | op | name | avg_cost | time | unix_time |
> +----+--------------------------------+--------------------------------+--------------------------------+----------------------+
> | +I | Alex | 100.0 | 2022-01-01 08:00:00.001 +0800 | 1640995200 |
> | +I | Emma | 400.0 | 2022-01-01 00:00:00.003 +0000 | 1640966400 |
> | +I | Alex | 200.0 | 2022-01-01 08:00:00.005 +0800 | 1640995200 |
> | +I | Emma | 300.0 | 2022-01-01 00:00:00.007 +0000 | 1640966400 |
> | +I | Jack | 500.0 | 2022-01-01 08:00:00.009 +0800 | 1640995200 |
> | +I | Alex | 450.0 | 2022-01-01 00:00:00.011 +0000 | 1640966400 |
> +----+--------------------------------+--------------------------------+--------------------------------+----------------------+
> {code}
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)