微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

当有很多列时,SparkDF 上的 Great Expect 分析需要很长时间

如何解决当有很多列时,SparkDF 上的 Great Expect 分析需要很长时间

我需要在 Databricks 中分析来自雪花的数据。数据只是 100 行但包含 3k+ 列的样本,最终会有更多行。当我减少列数时,分析完成得非常快,但列越多,它得到的时间就越长。我尝试对样本进行分析,但在 10 多个小时后,我不得不取消这项工作。

这是我使用的代码

df = spark.read.format('sNowflake').options(**sfOptions).option('query',f'select * from {db_name}')

df_ge = ge.dataset.SparkDFDataset(df_sf)

BasicDatasetProfiler.profile(df_ge)

您可以使用包含大量列的任何数据进行测试。这是正常现象还是我做错了什么?

解决方法

基本上,GE 单独计算每一列的指标,因此,它为每一列和它计算的每个指标执行一个操作(可能是 collect)。 collect 是您可以在 Spark 上进行的最昂贵的操作,因此这几乎是正常的,您拥有的列越多,所需的时间就越长。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。