正如我在标题中提到的,我很好奇我是否可以在一堆文件(基本上是blob中的所有文件)上获取元数据,这些文件已加载到Azure Databricks上。我希望可以运行某种通用脚本来提供文件的统计信息(主要是CSV格式)。我知道在SQL Server(这也是Microsoft产品)中的表上获取各种统计信息非常容易。或者,也许可以生成某种报告来显示文件的元数据,统计信息等。最终,我想获得文件名,文件大小的列表,如果可能的话,还希望获得字段中空值的计数以及所有文件中所有字段中空值的总数。谢谢。
答案 0 :(得分:1)
对于文件,唯一可用的是dbutils.fs.ls,它将列出文件夹中的文件,包括文件大小。
如果不打开csv文件并执行查询,就无法获取其统计信息-csv是文本文件。
诸如镶木地板的格式确实存储数据分布的统计信息。如果您确实愿意,可能有可用的python和scala库可以为您读取它们。
如果要在Databricks(Hive)中将文件注册为表,则可能会生成统计信息以优化查询。 https://docs.databricks.com/spark/latest/spark-sql/language-manual/analyze-table.html
该链接包含DESCRIBE命令的详细信息以查看它们。
就像SQL Server的表统计信息一样,它们是分布并且仅是估计值。例如,它们不会为您提供真正的空计数。两者都使用它们来提高查询性能,都不打算让用户直接使用统计信息。
Databricks也不是Microsoft产品。