在 AWS 上为 Databricks 和 Snowflake 使用 Spark 连接器

Posted

技术标签:

【中文标题】在 AWS 上为 Databricks 和 Snowflake 使用 Spark 连接器【英文标题】:Using Spark Connector for Databricks and Snowflake on AWS 【发布时间】:2021-06-30 07:19:36 【问题描述】:

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

    Spark 连接器的性能如何? (性能、额外成本、兼容性) Databricks SQL 和 Snowflake SQL 在性能和标准方面有哪些比较? 尝试同时使用这两种方法时遇到了哪些“陷阱”或不幸的意外?

【问题讨论】:

【参考方案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 的性能应该非常好更好。 如果您在 DataBricks SQL 中执行宽表扫描样式查询(例如 select * from foo(无位置,无限制)),然后在内核(或其他东西)中进行分析,则切换到 Snowflake 不会做太多给你。

[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

【讨论】:

以上是关于在 AWS 上为 Databricks 和 Snowflake 使用 Spark 连接器的主要内容,如果未能解决你的问题,请参考以下文章

将 AWS S3 连接到 Databricks PySpark

有哪些选项可以在 AWS 上为 Pandas 设置自动报告流程?

使用 Databricks 连接到 AWS Postgres

如何在 AWS EC2 上为 Rancher 和 Kubernetes 集群做 Auto Scaling?

如何在aws elastic beanstalk上为非www和www域配置letencrypt ssl?

如何在 AWS 上为 NodeJS 项目设置持续部署管道?