如何读取多个镶木地板表?
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_text
table?
尝试
spark.read.option("mergeSchema", "true").parquet(...)
请注意,所有读取的 parquet 文件必须具有相同的架构
我有以下文件夹结构:
.
└── 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_text
table?
尝试
spark.read.option("mergeSchema", "true").parquet(...)
请注意,所有读取的 parquet 文件必须具有相同的架构