Hi jingcheng, Thanks for bringing up the detailed design. I think the column operation feature is a great improvement to Table API.
+1 to the design from my side. I only left a minor comment in the google doc. Looking forward to the feature. Best, Jark On Mon, 11 Mar 2019 at 12:29, jincheng sun <sunjincheng...@gmail.com> wrote: > Hi, ALL: > > Currently, there are already lots of table-level operations available in > Table API such as the select, window, join, etc. Most functionalities can > be accomplished with these APIs. But things may become difficult when there > are too many columns to operate. > > The difficulties can be summarized into two categories: > > 1. Column modification - Users have to specify all the columns even if only > some columns are changed, e.g. adding a column, renaming a column, etc. > 2. Column projection - It lacks flexible column operations to express which > columns to be selected. e.g.: there are 100 columns, but the user is only > interested in selecting the 1~10 and 20~40 columns. > > So, I propose to add the following features in the Table API: > > 1. Add the following operator > - Add/Relace Columns > - Drop columns > - Rename columns > > 2. Add column selection utils > - columns(...) - select the specified columns > - -columns(...) - deselect the columns specified > > For more details, please check out the Google doc > < > https://docs.google.com/document/d/1tryl6swt1K1pw7yvv5pdvFXSxfrBZ3_OkOObymis2ck/edit?usp=sharing > >. > You are welcome to leave a comment in the Google doc > < > https://docs.google.com/document/d/1tryl6swt1K1pw7yvv5pdvFXSxfrBZ3_OkOObymis2ck/edit?usp=sharing > > > and welcome any email feedback!z > > Regards, > Jincheng >