文章摘要
Polars Cloud正式在AWS上推出,标志着其在填补本地pandas与远程PySpark之间的规模差距方面迈出了重要一步。同时,Polars Cloud还推出了分布式引擎的公开测试版,用户可通过平台进行远程分布式查询,进一步提升数据处理能力。
文章总结
Polars Cloud及分布式Polars引擎正式发布
自去年二月宣布Polars Cloud项目以来,经过不懈努力,我们正式推出了Polars Cloud,并宣布其在AWS上全面可用。同时,Polars Cloud上的分布式引擎也进入了公开测试阶段。用户可立即通过https://cloud.pola.rs/开始使用。
Polars Cloud的全面上线标志着我们在缩小DataFrame规模差距方面迈出了重要一步。这一差距长期以来存在于本地pandas的易用性与远程PySpark的可扩展性之间。Polars Cloud的广泛可用性,使得我们能够提供快速、灵活且开源的数据工具,这些工具可以在任何地方运行,为用户提供从笔记本电脑到云端的无缝扩展的单一API。
同样重要的是,我们的分布式引擎进入公开测试阶段。该引擎利用Polars的流式架构,不仅提供水平扩展,还提供垂直和对角扩展策略。这一设计直接解决了用户在成本、复杂性和性能之间的权衡问题,同时使高性能计算更加普及。这些发布共同代表了一个重大变革:远程执行感觉像本地执行,分布式处理无摩擦,架构设计直面大规模数据处理的未来。
1. Polars Cloud简介
Polars Cloud是一个托管数据平台,使用户能够在云端大规模运行Polars查询。我们将管理云基础设施和扩展。除了远程执行,Polars Cloud还提供不同的扩展策略,其中分布式最为重要。我们的分布式引擎在工作者节点上使用我们的开源流式引擎,确保我们继续致力于改进开源Polars,因为我们也将成为其直接用户之一。由于Polars在垂直计算方面的优势,Polars的分布式不仅提供水平扩展,还提供对角扩展策略。对于更适合在单个强大节点上运行且不会受益于混洗开销的任务,我们使用单个大工作者节点。Polars Cloud允许用户选择最适合其用例的扩展策略,提供适用于任何规模的单一API,从而降低成本、时间和复杂性。
2. 分布式引擎公开测试
我们的分布式引擎现已进入公开测试阶段。我们相信,分布式引擎在某些情况下甚至是最佳选择之一。当然,有些功能我们尚未支持分布式处理,在这种情况下,我们将自动回退到单节点操作。我们可以在完全分布式的情况下运行PDS-H基准测试。如果您想了解分布式引擎的最新功能,请关注跟踪问题。
我们的分布式引擎在处理可分区的查询与依赖顺序的数据处理时表现出色,如下面的查询所示:
python
result = (
trades.group_by_dynamic(
"time",
every="1m",
group_by="symbol"
).agg(
avg_price=pl.col("price").mean(),
total_size=pl.col("size").sum(),
interval_start=pl.col("time"),
).join_asof(
fairs,
left_on="interval_start",
right_on="time",
by="symbol",
strategy="backward"
).select(
"symbol",
"interval_start",
"avg_price",
"total_size",
"fair_value"
)
)
该查询结合了Polars单节点执行的高效性与Polars分布式的可扩展性。它可以按符号水平分区,然后利用Polars的快速查询引擎在强大的工作者节点上处理分区。
3. 近期计划
即将推出的功能包括:
- 本地支持:我们已开始支持Polars Cloud分布式架构的本地部署,预计在未来几个月内将迎来首批客户。
- 实时集群仪表板:当前版本的Polars Cloud已有一个显示查询、集群、vCPU等摘要的仪表板。我们正在构建的集群仪表板将与您的集群直接连接,提供更多信息。
- 任务编排:作为数据平台的一部分,我们将提供最小版本的任务编排功能,支持用户通过Polars Cloud调度查询。
- 自动扩展:我们计划很快推出垂直和对角(大工作者节点扩展)自动扩展功能,随后将扩展到水平自动扩展。
- 目录支持:我们将支持Iceberg表格式,并提供一个目录,使用户更容易组织数据集。
- 多区域支持:我们最初仅在美国东部地区启动,未来将尽快推出多区域支持,以确保所有区域的延迟最小。
开始使用
请继续关注我们的更新。我们将在未来几周内发布更多博客和功能。如果您有任何反馈,请在我们的客户端仓库中提交问题。
评论总结
评论总结:
Polars与其他工具的对比:
- DuckDB:用户对Polars与DuckDB的对比感兴趣,特别是SQLContext和分布式处理能力。
引用:
"Hmm so how does the polars SQLContext stack up against duckdb?"
"If I am using SQL at the end of the day, why bother starting with Polars?" - Spark:有用户希望深入了解Polars与Spark RDD的对比,认为Polars和DuckDB对初创公司已经足够。
引用:
"can you dive a bit deeper into the comparison with spark rdd"
"For startups, Polars or DuckDB are completely sufficient."
- DuckDB:用户对Polars与DuckDB的对比感兴趣,特别是SQLContext和分布式处理能力。
Polars的性能与使用体验:
- 性能优势:有用户表示Polars在处理大规模数据时表现优异,特别是在非交互式分析任务中。
引用:
"It ended up being about 20x faster than the first version."
"If you have to do a large non interactive analytical calculation polars seems to be way ahead imo!" - 局限性:也有用户认为Polars在处理大规模数据集时不如DuckDB,尤其是在使用SQL的情况下。
引用:
"I’ve not had great experience using Polars on large enough datasets."
"If I am using SQL at the end of the day, why bother starting with Polars?"
- 性能优势:有用户表示Polars在处理大规模数据时表现优异,特别是在非交互式分析任务中。
Polars Cloud与分布式计算:
- 计费与基础设施:用户对Polars Cloud的计费模式和基础设施选择提出了疑问,特别是与AWS的集成。
引用:
"How does billing with 'Deploy on AWS' work?"
"Why do I have to give it — looking at the example — the AWS instance type?" - 分布式支持:用户关心是否可以在自有机器上运行分布式Polars,而不依赖云服务。
引用:
"Can I use distributed Polars with my own machines or do I have to buy cloud compute to run distributed queries?"
"Is there any distributed polars for non Polars Cloud?"
- 计费与基础设施:用户对Polars Cloud的计费模式和基础设施选择提出了疑问,特别是与AWS的集成。
Polars的易用性与未来发展:
- 易用性:有用户希望Polars在Rust库中的使用能像Python一样简单,但目前主要聚焦于Python生态。
引用:
"I do wish that it was just as easy to use as a rust library though.. the focus however seems to be on being competitive in python land mainly." - 未来发展:用户对Polars的未来发展表示期待,特别是与Snowflake等工具的竞争。
引用:
"So competing with SnowFlake?"
"Happy to see the team ship their product and I hope it does well!"
- 易用性:有用户希望Polars在Rust库中的使用能像Python一样简单,但目前主要聚焦于Python生态。
Polars与其他工具的混淆:
- 名称混淆:有用户指出Polars与Polar(支付服务)的名称容易混淆,建议区分清楚。
引用:
"Maybe just me, but for anyone else who was confused - Polars (Pola.rs) - the DataFrames library that now has a cloud version - Polar (Polar.sh) - Payments and MoR service built on top of Stripe."
- 名称混淆:有用户指出Polars与Polar(支付服务)的名称容易混淆,建议区分清楚。
总结:
评论中对Polars的性能、与其他工具的对比、分布式支持、计费模式以及易用性等方面展开了讨论。用户普遍认可Polars在处理大规模数据时的性能优势,但也对其在分布式计算和SQL支持方面的局限性提出了疑问。此外,用户对Polars Cloud的计费模式和基础设施选择表示关注,并期待其在未来的发展中进一步简化使用体验。