Как читать разные форматы разделов в Avro от S3 до Spark? - PullRequest
0 голосов
/ 12 ноября 2018

У меня S3 bucket с двумя форматами разделов:

  1. S3: // bucketname / имя_таблицы / год / месяц / день
  2. S3: // bucketname / имя_таблицы / устройство / год / месяц / день

Формат файла Avro.

Я пытался прочитать val df = spark.read.format("com.databricks.spark.avro").load("s3://S3://bucketname/tablename").

Информация об ошибке

java.lang.AssertionError: assertion failed: Conflicting partition column names detected:

    Partition column name list #0: xx, yy
    Partition column name list #1: xx

For partitioned table directories, data files should only live in leaf directories.
And directories at the same level should have the same partition column name.
Please check the following directories for unexpected files or inconsistent partition column names:

1 Ответ

0 голосов
/ 12 ноября 2018

Вы не можете прочитать их обоих одновременно. Как упоминалось в самой ошибке,

Каталоги одного уровня должны иметь одинаковый столбец раздела имя.

Прочитайте оба из них по отдельности (используя 2 пути s3 до листа), а затем вы можете union свои входные DF, если схема соответствует.

...