【问题标题】:Poor performance Arrow Parquet multiple files性能不佳的 Arrow Parquet 多个文件
【发布时间】:2021-05-11 23:57:58
【问题描述】:

在 Rstudio 会议here 上观看了令人兴奋的网络研讨会后,我非常兴奋,可以将整个 SQL 服务器表转储到 parquet 文件中。结果是 2886 个文件(37 个月内 78 个实体),总共约 7 亿行。

执行基本选择会在 15 秒内返回所有行! (简直出乎意料!)在网络研讨会上,来自 Ursa Labs 的 Neal Richardson 展示了 Ny-Taxi 数据集,该数据集在 4 秒内包含 20 亿行。

我觉得是时候做一些更大胆的事情了,比如基本均值、标准差、模式超过一年的数据,但这每月需要一分钟,所以我坐了 12.4 分钟等待 R 的回复。

有什么问题?我写得不好的 R 查询?或者只是太多的文件或粒度(十进制值?)??

有什么想法吗??

PS:我不想在 apache-arrow board 中放置 Jira-case,因为我看到 google 搜索无法从那里检索答案。

【问题讨论】:

    标签: r parquet apache-arrow


    【解决方案1】:

    我的猜测(没有实际查看数据或分析查询)是两件事:

    1. 你说得对,小数类型在转换为 R 类型时需要做一些工作,因为 R 没有小数类型,所以这比仅读取 int32 或 float64 类型要慢。李>
    2. 您仍在向 R 会话读取约 3.5 亿行数据,这需要一些时间。在箭头包 vignette 的示例查询中,过滤掉了更多数据(并且过滤速度非常快)。

    【讨论】:

    • 嗨 Neal,这里只是跟进,感谢您和整个团队的努力,相同的代码 - 现在在 Arrow 6.0 下运行 - 只用了 2.7 分钟。我们的 1500DW Azure SQL 实例,运行相同的 i 53 秒,每月花费大约 4200 美元,平心而论,我只有 3% 的性能访问,但仍然令人兴奋的是,单个用户可以运行这个级别的本地笔记本电脑的复杂性。谢谢尼尔!
    猜你喜欢
    • 2019-07-01
    • 2020-09-14
    • 2020-07-28
    • 2021-02-20
    • 1970-01-01
    • 2017-01-10
    • 2021-12-24
    • 2023-02-19
    • 1970-01-01
    相关资源
    最近更新 更多