-2

我正在考虑使用由 Spark 连接器连接的 Databricks 和 Snowflake,它们都在 AWS 上运行。在触发决定之前,我很难理解以下内容:

  1. Spark 连接器的性能如何?(性能、额外成本、兼容性)
  2. Databricks SQL 和 Snowflake SQL 在性能和标准方面可以进行哪些比较?
  3. 尝试同时使用这两种方法的“陷阱”或不幸的惊喜是什么?
4

1 回答 1

1

Snowflake 对 Spark 连接器的性能进行了投资,根据基准测试[0],它表现良好。

SQL 方言是相似的。“Databricks SQL 保持与 Apache Spark SQL 语义的兼容性。” [1] “Snowflake 支持 SQL:1999 中定义的大多数命令和语句。” [2]

我没有遇到过陷阱。我会避免使用不同的区域。DataBricks SQL 的性能特征自 6 月 17 日将其 Photon 引擎设为默认值以来有所不同。

与往常一样,该实用程序将取决于您的用例,例如:

  • 如果您在分区压缩 Parquet DeltaLake 上执行分析 DataBricks SQL 查询,那么性能应该与 Snowflake 大致相似 - 但如果您针对 JDBC MySQL 连接执行分析 DataBricks SQL 查询,那么 Snowflake 的性能应该要好得多。
  • 如果您select * from foo在 DataBricks SQL 中进行宽表扫描样式查询(例如(无位置,无限制)),然后在内核(或其他东西)中进行分析,那么切换到 Snowflake 对您没有多大帮助。

ETC

[0] - https://www.snowflake.com/blog/snowflake-connector-for-spark-version-2-6-turbocharges-reads-with-apache-arrow/

[1] - https://docs.databricks.com/sql/release-notes/index.html

[2] - https://docs.snowflake.com/en/sql-reference/intro-summary-sql.html

于 2021-06-30T15:39:59.333 回答