在 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?