У меня есть три разных файла orc в трех разных папках, я хочу прочитать их все в один фрейм данных за один снимок.
user1.orc в / data / user1 /
+-------------------+--------------------+
| userid | name |
+-------------------+--------------------+
| 1 | aa |
| 6 | vv |
+-------------------+--------------------+
user2.orc в / data / user2 /
+-------------------+--------------------+
| userid | info |
+-------------------+--------------------+
| 11 | i1 |
| 66 | i6 |
+-------------------+--------------------+
user3.orc в / data / user3 /
+-------------------+--------------------+
| userid | con |
+-------------------+--------------------+
| 12 | 888 |
| 17 | 123 |
+-------------------+--------------------+
Я хочу прочитать все это сразу и получитьфрейм данных, как показано ниже
+-------------------+--------------------+--------------------+----------+
| userid | name | info | con |
+-------------------+--------------------+--------------------+----------+
| 1 | aa | null | null |
| 6 | vv | null | null |
| 11 | null | i1 | null |
| 66 | null | i6 | null |
| 12 | null | null | 888 |
| 17 | null | null | 123 |
, поэтому я использовал вот так
val df =spark.read.option("mergeSchema","true").orc("file:///home/hadoop/data/")
, но он дает общий столбец для всех файлов
+-------------------+
| userid |
+-------------------+
| 1 |
| 6 |
| 11 |
| 66 |
| 12 |
| 17 |
Так как читать все этитри файла в одном кадре?