/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ // This is a test protocol for testing parquet-avro compatibility. @namespace("org.apache.spark.sql.execution.datasources.parquet.test.avro") protocol CompatibilityTest { enum Suit { SPADES, HEARTS, DIAMONDS, CLUBS } record ParquetEnum { Suit suit; } record Nested { array nested_ints_column; string nested_string_column; } record AvroPrimitives { boolean bool_column; int int_column; long long_column; float float_column; double double_column; bytes binary_column; string string_column; } record AvroOptionalPrimitives { union { null, boolean } maybe_bool_column; union { null, int } maybe_int_column; union { null, long } maybe_long_column; union { null, float } maybe_float_column; union { null, double } maybe_double_column; union { null, bytes } maybe_binary_column; union { null, string } maybe_string_column; } record AvroNonNullableArrays { array strings_column; union { null, array } maybe_ints_column; } record AvroArrayOfArray { array> int_arrays_column; } record AvroMapOfArray { map> string_to_ints_column; } record ParquetAvroCompat { array strings_column; map string_to_int_column; map> complex_column; } }