Details

    • Type: New Feature New Feature
    • Status: Open
    • Priority: Minor Minor
    • Resolution: Unresolved
    • Affects Version/s: 1.7.0
    • Fix Version/s: None
    • Component/s: java
    • Labels:
      None

      Description

      Like XPath or JSON Path, it would be useful for AVRO to support a 'path' like system to query on an AVRO object to return selected results.

        Activity

        Hide
        Jason Rutherglen added a comment -

        One more thing, the other important use case is in conjunction with Hive, eg, an AVRO Path UDF.

        Show
        Jason Rutherglen added a comment - One more thing, the other important use case is in conjunction with Hive, eg, an AVRO Path UDF.
        Hide
        Jason Rutherglen added a comment -

        Sounds good, feel free to get this going. We may contribute code, however it would likely be in the month(s) timeframe.

        The main use case is for NoSQL systems, storing an entire 'value' as an AVRO object, then using a 'path' mechanism to obtain individual objects out of the blob.

        This is an easy way to 'evolve' a schema outside of the NoSQL's schema definition system (which in many cases can be difficult), and to enable multi-level standardized objects to be stored in a NoSQL's column family (and not be limited by the single level column layout).

        The other benefit is not transferring the entire blob over the network, instead returning only the objects needed.

        Many NoSQL systems operate on ByteBuffer's, hopefully AVRO supports that.

        Show
        Jason Rutherglen added a comment - Sounds good, feel free to get this going. We may contribute code, however it would likely be in the month(s) timeframe. The main use case is for NoSQL systems, storing an entire 'value' as an AVRO object, then using a 'path' mechanism to obtain individual objects out of the blob. This is an easy way to 'evolve' a schema outside of the NoSQL's schema definition system (which in many cases can be difficult), and to enable multi-level standardized objects to be stored in a NoSQL's column family (and not be limited by the single level column layout). The other benefit is not transferring the entire blob over the network, instead returning only the objects needed. Many NoSQL systems operate on ByteBuffer's, hopefully AVRO supports that.
        Hide
        hanasaki jiji added a comment -

        Thought...
        Objective being pluggable support for back-ends/providers (like JDBC's pattern) with a common API and base library. This could imply standardising on an existing API (like JXPath) and refactoring it to have "providers" (POJO-BEANS, AVRO, ...

        Show
        hanasaki jiji added a comment - Thought... Objective being pluggable support for back-ends/providers (like JDBC's pattern) with a common API and base library. This could imply standardising on an existing API (like JXPath) and refactoring it to have "providers" (POJO-BEANS, AVRO, ...

          People

          • Assignee:
            Unassigned
            Reporter:
            Jason Rutherglen
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:

              Development