MS SQL 服务器存储过程到 Spark

MS SQL server stored procedures to Spark

我们将 MS SQL 服务器作为各种数据库的主要选项,并且我们定期 运行 数百个存储过程。 现在我们正在转向完全大数据堆栈。我们将 Spark 用于批处理作业。但是,我们已经投入了巨大的精力来创建这些存储过程。有没有办法在 Spark 之上重用存储过程?还是有一种简单的方法可以将它们迁移到 Spark 而不是从头开始编写?

或者 Cloudera distribution/impala 之类的任何框架都可以满足此要求?

不,据我所知没有。您可以使用非常相似的逻辑流程,但您将需要投入大量时间和精力将 T-SQL 转换为 Spark。我建议直接使用 Scala,不要在 Python/PySpark.

上浪费时间

我的转换经验法则是尝试在存储过程中做任何 SQL 的事情,就像在 Spark (sqlContext.sql("SELECT x FROM y")) 中做 SQL 但要注意 Spark DataFrames是不可变的,因此必须更改任何 UPDATEDELETE 操作以输出新的修改后的 DataFrame。