Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-374

Enable access to dynamic columns in * or cf.* selection

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • None
    • 4.15.0, 5.1.0
    • None
    • None
    • 243

    Description

      As of recent work we can now read and write columns that are not in the schema, AKA dynamic columns. the Select and Upsert allow dynamic columns to be specified.

      I think two additions are still needed.

      • Alter dynamicly: In the Upsert and/or Select statement the ability to add on the specified dynamic column to schema. Say Upsert into Table (key, cf.dynColumn varchar SCHEMAADD) values (..)
        and for select:
      • select key, cf.dynColumn varchar from T would only read
      • select key from T(cf.dynColumn varchar ) would only read and wrtie to schema
      • Select a complete column Family: More complex, accessing a whole Column Family with all rows known in schema or not.
        select cf.* from T
        today this works for know columns it could be nice to have this for all columns of a family in the schema or not. I'm trying right now to extend this to schema for unknown columns. However every new row can a lot of very different unknowcolumns. The defined ones will be first but the unknown one will be appended at the end.
        This means the metadata might need to be updated at every row to account for all new columns discovered.

      Attachments

        1. PHOENIX-374.patch
          162 kB
          Chinmay Kulkarni
        2. PHOENIX-374-4.x-HBase-1.4_addendum.patch
          1 kB
          Chinmay Kulkarni

        Issue Links

          Activity

            People

              ckulkarni Chinmay Kulkarni
              nmaillard nicolas maillard
              Votes:
              1 Vote for this issue
              Watchers:
              11 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 4h
                  4h