Spark sql查询到熊猫问题

Posted

技术标签:

【中文标题】Spark sql查询到熊猫问题【英文标题】:Spark sql Query to pandas issue 【发布时间】:2020-07-08 13:53:28 【问题描述】:

所以我在 Azure Databricks 笔记本中运行一些脚本。 我正在使用 pySpark 查询表中的一些数据。

query = """secret sql query""".format(ids)

try:
  DF_sql = spark.sql(query)

查询没有提示任何错误,但我尝试将其转换为 pandas 数据框

DF_pd = DF_sql.toPandas()

但我不断收到此错误:

 UserWarning: toPandas attempted Arrow optimization because 'spark.sql.execution.arrow.enabled' is set to true, but has reached the error below and can not continue. Note that 'spark.sql.execution.arrow.fallback.enabled' does not have an effect on failures in the middle of computation.

数据框 DF_sql 可能为空,会导致此错误吗?如果是这样,你如何优雅地处理它。

【问题讨论】:

如果答案对您有帮助,您可以接受它作为答案(单击答案旁边的复选标记,将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢 【参考方案1】:

如果这是由于数据框为空,我认为您可以检查数据框是否为空,然后转换为 Pandas 数据框。

如果 len(df.head(1)) != 0 : DF_pd = DF_sql.toPandas()

【讨论】:

以上是关于Spark sql查询到熊猫问题的主要内容,如果未能解决你的问题,请参考以下文章

如何将 spark sql 查询结果映射到对象?

将转换从 hive sql 查询转移到 Spark

sql 查询在 zeppelin 中转换为 spark lang

spark sql 查询hive表并写入到PG中

避免 Spark SQL 查询的笛卡尔连接

如何将 BigQuery SQL 查询结果转换为 Spark DataFrame?