In this patch as part of T310302, we created an abstracted interface for iterating over a JSONSchema and converting it into a different (Java based) type system. We used this to convert from JSONSchema to Flink's DataStream Row and Table API schema type systems.
This was based on our implementation of the same code in analytics/refinery/source in the Spark JsonSchemaConverter.
We should remove the Spark specific JsonSchemaConverter and instead implement the data type conversions interface for Spark, and put that into wikimedia-event-utilties. analytics/refinery/source can then use the JsonSchemaConverter code from wikimedia-event-utilities.