Hi, What is your use case? Flink doesn't have an UPDATE statement, because Flink relies on Dynamic Tables and Continuous Queries. [1]
Best regards, Martijn [1] https://nightlies.apache.org/flink/flink-docs-stable/docs/dev/table/concepts/dynamic_tables/ On Wed, Sep 21, 2022 at 5:40 PM Xuyang <xyzhong...@163.com> wrote: > *Hi, You're right, there's no keyword 'update' in flink.* > > > > > > -- > Best! > Xuyang > > > 在 2022-09-21 22:40:03,pod...@gmx.com 写道: > > Thank you - I'll try. > There is no 'UPDATE' clause in Flink SQL? > > > *Sent:* Monday, September 19, 2022 at 4:09 AM > *From:* "Shengkai Fang" <fskm...@gmail.com> > *To:* pod...@gmx.com > *Cc:* user@flink.apache.org > *Subject:* Re: INSERT INTO will work faster in Flink than in regular > database? > Hi. I think you can write a udf[1] to process some fields and then insert > into the sink. > > Best. > Shengkai > > [1] > https://nightlies.apache.org/flink/flink-docs-master/docs/dev/table/functions/udfs/ > > <pod...@gmx.com> 于2022年9月15日周四 22:10写道: > >> What's the most effective way (performance) to update big no of rows? >> Sure this will be probably "INSERT INTO table (column1) SELECT column1 >> FROM ...". Anyway, I do not see any "UPDATE" in Flink? >> But sometimes SQL is not enough. >> Suppose I have code: >> >> TableResult tableResult1 = tEnv.executeSql("SELECT * FROM SomeTable"); >> try (org.apache.flink.util.CloseableIterator<Row> it = >> tableResult1.collect()) { >> while(it.hasNext()) { >> Row row = it.next(); >> //Treat row: >> String x_field = row.getField("some_column").toString(); >> //Do something with x_field >> ... >> tEnv.executeSql("INSERT INTO AnotherTable (column) VALUES >> ('new_value')"); >> } >> } >> >> But this INSERT will be probably performance killer... >> >> Any suggestion how to do it in a smart way? >> >> Mike > >