如何在拼花地板目录中查找特定列名

2024-05-20 09:38:19 发布

您现在位置:Python中文网/ 问答频道 /正文

下面有多个目录。我正在尝试自动读取所有拼花地板文件,并查看它们的列名是否包含字符串“prodcolor”。一件事是并非所有目录都有拼花文件,并且在这部分hdfs://user/hive/warehouse/之后有多个目录,如one.dbtwo.dbthree.db

hdfs://user/hive/warehouse/one.db/table1/  --- these have _SUCCESS and .parquet
hdfs://user/hive/warehouse/one.db/table2/
hdfs://user/hive/warehouse/one.db/some/somefile.txt ---these do not
hdfs://user/hive/warehouse/two.db/table3/--- these have .parquet as well

我知道,一旦我们开始阅读拼花地板文件,我们可以得到如下列名

df= spart.read.parquet("hdfs://user/hive/warehouse/one.db/table1/")
df.columns

但是,如何在没有其他额外库的情况下自动检查PySpark作业中的目录呢?如果有一种直接查询配置单元元数据的方法,那就太好了,不必显式地知道表名或建立JDBC连接。非常感谢你的帮助。最好可以用Python实现


Tags: 文件目录dbhavehdfswarehouseone拼花