Thanks for inputs! From discussion we have agreed on moving forward

Next step:

- Draft PR to note the deprecation status in Documentation, including
CHANGES, Javadoc, etc

- The earliest release to stop publishing ZetaSQL artifacts is pushed
further, not earlier than 1 full quarter before the next Release (2.65.0 +
3 months would be 2.68.0), and only when it causes issues on maintenance.

Thanks,

Yi


On Wed, Mar 26, 2025 at 12:18 PM Kenneth Knowles <k...@apache.org> wrote:

> +1 to this deprecation. Thanks for putting together a clear summary.
>
> FWIW it also has significantly worse performance than Calcite SQL dialect,
> since it calls out to a ZetaSQL subprocess for most calculations, and that
> is less optimized than Beam's Fn API.
>
> Kenn
>
> On Tue, Mar 25, 2025 at 4:18 PM Robert Bradshaw via user <
> user@beam.apache.org> wrote:
>
>> I'm in favor of deprecating this and cleaning it up, but it depends on
>> usage. I suspect it is low (or possibly non-existent, especially as there's
>> little upside to moving away from the default). I cc'd user@ just in
>> case anyone wants to chime in there. This may be a good thing to add to our
>> release notes as well (perhaps we can get it in the one that's just about
>> to go out).
>>
>> Unless there is strong, justified pushback, I'd get the deprecation
>> status (e.g. on the javadocs, website) right away. For actual removal, I
>> agree with the idea of waiting until it actually causes issues or we move
>> to the next major beam release, though I might push back at 2.66 being a
>> bit too quick even if the first condition is hit before then and might give
>> people at least a quarter's notice.
>>
>> - Robert
>>
>>
>> On Mon, Mar 24, 2025 at 2:27 PM Yi Hu via dev <d...@beam.apache.org>
>> wrote:
>>
>>> Hi everyone,
>>>
>>> I would like to bring up discussion for deprecating Beam SQL's ZetaSQL
>>> component [1].
>>> Beam SQL currently serves with two SQL dialects (i) Apache Calcite and
>>> (ii) ZetaSQL dialects, see documentation [2] due to the following reasons
>>>
>>> - Developments in Beam for ZetaSQL dialect effectively stalled since
>>> early 2022 (See change history [3])
>>>
>>> - Despite incomplete support status, there is no new bug / feature
>>> request opened ever since we migrated to use GitHub Issue, suggesting
>>> minimal adoption [4]
>>>
>>> - We still need to keep zetasql up-to-date if its dependency conflicts
>>> with other google dependencies, as a result ZetaSQL component introduces
>>> maintenance burden when upgrading GCP-BOM (e.g. [5]).
>>>
>>> - One of the main reason that using ZetaSQL dialect, per [2], was because
>>>
>>> > ZetaSQL is more compatible with BigQuery, so it’s especially useful in
>>> pipelines that write to or read from BigQuery tables.
>>>
>>>   As of today, as GCP BigQuery now supports using GoogleSQL
>>> (open-sourced as ZetaSQL) querying data that's stored outside of BigQuery
>>> via BigQuery Connections API / Federated query [6, 7]. This largely
>>> provides an alternative for using Beam's ZetaSQL interacting with BigQuery.
>>>
>>> For these reasons, I propose initiating the process of deprecating
>>> Beam SQL's ZetaSQL component. There are two decisions needed to be made:
>>>
>>> Firstly, agree on when to document the deprecated status for ZetaSQL
>>> component in javadoc, beam website, currently I recommend do it in the
>>> release that currently HEAD belongs, that is Beam 2.65.0 (cut April 30,
>>> 2025)
>>>
>>> Secondly, stop publishing ZetaSQL artifacts. This is a breaking change,
>>> and I think we can leave the deprecated status as is until the following
>>> situation emerges, whichever comes first, and no earlier than Beam 2.66.0
>>> (cut Jun 11, 2025)
>>>
>>> - Continued support for ZetaSQL component involving significant burdens,
>>> like conflict with other Beam dependencies, supported Java versions, etc, or
>>> - When Beam moved to the next release major release (3)
>>>
>>> Thanks for your attention, and any input welcomed!
>>>
>>> Regards,
>>> Yi
>>>
>>> [1]
>>> https://github.com/apache/beam/tree/master/sdks/java/extensions/sql/zetasql
>>> [2] https://beam.apache.org/documentation/dsls/sql/overview/
>>> [3]
>>> https://github.com/benEng/beam/commits/master/sdks/java/extensions/sql/zetasql/src/main/java/org/apache/beam/sdk/extensions/sql/zetasql/SupportedZetaSqlBuiltinFunctions.java
>>> [4]
>>> https://github.com/apache/beam/issues?q=is%3Aissue%20%20label%3Azetasql%20
>>> [5] https://github.com/apache/beam/pull/32902
>>> [6] https://cloud.google.com/bigquery/docs/connections-api-intro
>>> [7] https://cloud.google.com/bigquery/docs/federated-queries-intro
>>>
>>> --
>>>
>>> Yi Hu, (he/him/his)
>>>
>>> Software Engineer
>>>
>>>
>>>

Reply via email to