Skip to content

Instantly share code, notes, and snippets.

@dalelane
dalelane / schema06.avsc
Last active July 20, 2019 22:34
Example of an Avro schema - used in https://dalelane.co.uk/blog/?p=3781
{
"type": "record",
"name": "Type6",
"namespace": "co.uk.dalelane",
"fields": [
{
"name": "favouriteDirections",
"type": {
"type": "map",
"name": "direction",
Map<CharSequence, compass> everyonesFavourite = new HashMap<CharSequence, compass>();
everyonesFavourite.put("alice", compass.NORTH);
everyonesFavourite.put("bob", compass.EAST);
Type6 myThing = new Type6();
myThing.setFavouriteDirections(everyonesFavourite);
@dalelane
dalelane / schema07.avsc
Last active July 20, 2019 22:34
Example of an Avro schema - used in https://dalelane.co.uk/blog/?p=3781
{
"type": "record",
"name": "Type7",
"namespace": "co.uk.dalelane",
"fields": [
{
"name": "favouriteLists",
"type": {
"type": "map",
"name": "Things",
List<CharSequence> dalesFavourites = new ArrayList<CharSequence>();
dalesFavourites.add("Faith");
dalesFavourites.add("Grace");
List<CharSequence> bobsFavourites = new ArrayList<CharSequence>();
bobsFavourites.add("Alice");
Map<CharSequence, List<CharSequence>> everyonesFavourites = new HashMap<CharSequence, List<CharSequence>>();
everyonesFavourites.put("dale", dalesFavourites);
everyonesFavourites.put("bob", bobsFavourites);
@dalelane
dalelane / schema08.avsc
Last active July 20, 2019 22:35
Example of an Avro schema - used in https://dalelane.co.uk/blog/?p=3781
{
"type": "record",
"name": "Type8",
"namespace": "co.uk.dalelane",
"fields": [
{
"name": "variousThings",
"type": [ "string", "int" ]
},
{
Type8 myThingA = new Type8();
myThingA.setVariousThings("a string");
myThingA.setDifferentNumberTypes(123);
Type8 myThingB = new Type8();
myThingB.setVariousThings(11);
myThingB.setDifferentNumberTypes(1.23);
@dalelane
dalelane / schema09.avsc
Last active July 20, 2019 22:35
Example of an Avro schema - used in https://dalelane.co.uk/blog/?p=3781
{
"type": "record",
"name": "Type9",
"namespace": "co.uk.dalelane",
"fields": [
{
"name": "requiredString",
"type": "string"
},
{
Type9 myThingA = new Type9();
myThingA.setRequiredString("Hello");
myThingA.setOptionalString("World");
Type9 myThingB = new Type9();
myThingB.setRequiredString("Hello");
@dalelane
dalelane / schema10.avsc
Last active July 20, 2019 22:35
Example of an Avro schema - used in https://dalelane.co.uk/blog/?p=3781
{
"type": "record",
"name": "Type10",
"namespace": "co.uk.dalelane",
"fields": [
{
"name": "whenItHappened",
"type": "long",
"logicalType": "date"
}
Type10 myThing = new Type10();
myThing.setWhenItHappened(LocalDate.now().toEpochDay());