aboutsummaryrefslogtreecommitdiff
path: root/sql/core/src/test/avro
diff options
context:
space:
mode:
Diffstat (limited to 'sql/core/src/test/avro')
-rw-r--r--sql/core/src/test/avro/parquet-compat.avdl47
-rw-r--r--sql/core/src/test/avro/parquet-compat.avpr86
2 files changed, 133 insertions, 0 deletions
diff --git a/sql/core/src/test/avro/parquet-compat.avdl b/sql/core/src/test/avro/parquet-compat.avdl
new file mode 100644
index 0000000000..24729f6143
--- /dev/null
+++ b/sql/core/src/test/avro/parquet-compat.avdl
@@ -0,0 +1,47 @@
+/*
+ * 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.parquet.test.avro")
+protocol CompatibilityTest {
+ record Nested {
+ array<int> nested_ints_column;
+ string nested_string_column;
+ }
+
+ record ParquetAvroCompat {
+ boolean bool_column;
+ int int_column;
+ long long_column;
+ float float_column;
+ double double_column;
+ bytes binary_column;
+ string string_column;
+
+ 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;
+
+ array<string> strings_column;
+ map<int> string_to_int_column;
+ map<array<Nested>> complex_column;
+ }
+}
diff --git a/sql/core/src/test/avro/parquet-compat.avpr b/sql/core/src/test/avro/parquet-compat.avpr
new file mode 100644
index 0000000000..a83b7c990d
--- /dev/null
+++ b/sql/core/src/test/avro/parquet-compat.avpr
@@ -0,0 +1,86 @@
+{
+ "protocol" : "CompatibilityTest",
+ "namespace" : "org.apache.spark.sql.parquet.test.avro",
+ "types" : [ {
+ "type" : "record",
+ "name" : "Nested",
+ "fields" : [ {
+ "name" : "nested_ints_column",
+ "type" : {
+ "type" : "array",
+ "items" : "int"
+ }
+ }, {
+ "name" : "nested_string_column",
+ "type" : "string"
+ } ]
+ }, {
+ "type" : "record",
+ "name" : "ParquetAvroCompat",
+ "fields" : [ {
+ "name" : "bool_column",
+ "type" : "boolean"
+ }, {
+ "name" : "int_column",
+ "type" : "int"
+ }, {
+ "name" : "long_column",
+ "type" : "long"
+ }, {
+ "name" : "float_column",
+ "type" : "float"
+ }, {
+ "name" : "double_column",
+ "type" : "double"
+ }, {
+ "name" : "binary_column",
+ "type" : "bytes"
+ }, {
+ "name" : "string_column",
+ "type" : "string"
+ }, {
+ "name" : "maybe_bool_column",
+ "type" : [ "null", "boolean" ]
+ }, {
+ "name" : "maybe_int_column",
+ "type" : [ "null", "int" ]
+ }, {
+ "name" : "maybe_long_column",
+ "type" : [ "null", "long" ]
+ }, {
+ "name" : "maybe_float_column",
+ "type" : [ "null", "float" ]
+ }, {
+ "name" : "maybe_double_column",
+ "type" : [ "null", "double" ]
+ }, {
+ "name" : "maybe_binary_column",
+ "type" : [ "null", "bytes" ]
+ }, {
+ "name" : "maybe_string_column",
+ "type" : [ "null", "string" ]
+ }, {
+ "name" : "strings_column",
+ "type" : {
+ "type" : "array",
+ "items" : "string"
+ }
+ }, {
+ "name" : "string_to_int_column",
+ "type" : {
+ "type" : "map",
+ "values" : "int"
+ }
+ }, {
+ "name" : "complex_column",
+ "type" : {
+ "type" : "map",
+ "values" : {
+ "type" : "array",
+ "items" : "Nested"
+ }
+ }
+ } ]
+ } ],
+ "messages" : { }
+} \ No newline at end of file