如何读取多个镶木地板表?

How to read multiple parquet tables?

我有以下文件夹结构:

.
└── raw
    ├── enwiki-20200401-pages-articles-multistream.xml
    ├── enwiki-20200401-pages-articles-multistream.xml.bz2
    ├── stg
    ├── wkp_header
    ├── wkp_link_external
    ├── wkp_link_wiki
    ├── wkp_page
    ├── wkp_page_simple
    ├── wkp_redirect
    ├── wkp_table
    ├── wkp_tag
    ├── wkp_template
    ├── wkp_template_param
    └── wkp_text

在所有这些 wkp_* 下,有 *.parquet 个文件。

当我尝试通过以下方式读取数据时:

val df = spark.read.parquet(
      List(
        "raw/wkp_text",
        "raw/wkp_page"): _*
    )
df.printSchema()

我只打印了 wkp_page 的架构。

这是为什么?我如何检查所有数据(来自所有 table 传递的数据)是否已加载?如何引用wkp_texttable?

尝试

spark.read.option("mergeSchema", "true").parquet(...) 

请注意,所有读取的 parquet 文件必须具有相同的架构