Databricks (Azure) SQL 中的 For/Loop/While

Posted

技术标签:

【中文标题】Databricks (Azure) SQL 中的 For/Loop/While【英文标题】:For/Loop/While in Databricks (Azure) SQL 【发布时间】:2021-12-24 08:58:19 【问题描述】:

有人知道我是否可以在 Databricks 中的 SQL 中进行迭代构造(如循环、while、for)吗?

【问题讨论】:

写下你想实现什么 我需要在表中插入多列(超过 200 列)。 then 之间的区别是子字符串函数中的一个参数:row_number。我从 1 开始,需要到 250 为止。 【参考方案1】:

AFAIK,SQL 中没有这种直接的方法可以遍历 DataFrame。另一方面,pyspark 具有多个函数来执行数据循环。包括map()foreach()pandas

请看下面的例子:

# Using pandas
import pandas as pd
spark.conf.set("spark.sql.execution.arrow.enabled", "true")
pandasDF = df.toPandas()
for index, row in pandasDF.iterrows():
    print(row['firstname'], row['gender'])

如需了解更多,请访问https://sparkbyexamples.com/pyspark/pyspark-loop-iterate-through-rows-in-dataframe/#using-pandas-to-iterate。

【讨论】:

您好!我的整个代码都在 SQL 中,我对 pyspark 不是很熟悉。得考虑一下。不过谢谢!

以上是关于Databricks (Azure) SQL 中的 For/Loop/While的主要内容,如果未能解决你的问题,请参考以下文章

将数据从 Databricks 加载到 Azure SQL 时的性能问题

为啥这个简单的 SQL 代码在 Azure Databricks 中不起作用?

如何在 Azure Databricks SQL 中将字段值转换为逗号分隔

Azure Databricks 到 Azure SQL DW:长文本列

将 Azure Databricks 增量表迁移到 Azure Synapse SQL 池

将数据表从 Databricks dbfs 导出到 azure sql 数据库