(Sending this on behalf of the author)

 I'm working on [PR #3415] (GH-3414) which adds a parseJson method to
VariantBuilder for JSON-to-Variant conversion. During review,
@steveloughran raised a good question about where the JSON parsing logic
  should live, and suggested bringing it to the dev list.



  Currently, VariantJsonParser is in the parquet-variant module. This
requires adding jackson-core as a compile-scope dependency (for
JsonFactory, JsonParser, StreamReadConstraints, etc.) alongside
  parquet-jackson at runtime scope — the same pattern used by
parquet-hadoop.



  Steve suggested moving VariantJsonParser into parquet-jackson instead.



  Option A: Keep in parquet-variant (current approach)


  - Keeps all variant logic in one module
  - Follows the existing parquet-hadoop pattern for Jackson dependencies


  - Requires jackson-core at compile scope + parquet-jackson at runtime
scope



  Option B: Move to parquet-jackson
  - Avoids adding Jackson compile dependency to parquet-variant


  - parquet-jackson already has unshaded Jackson internally, so no
dependency issue

  - Requires parquet-jackson to depend on parquet-variant (for
VariantBuilder, Variant, etc.)
  - No build cycle as far as I can tell — parquet-variant doesn't currently
depend on parquet-jackson at compile scope



[PR #3415]: https://github.com/apache/parquet-java/pull/3415

Reply via email to