首页 > 解决方案 > 从 Databricks 环境加载 SnowFlake 数据时出现意外行为

问题描述

我只是想从如下雪花表中加载数据(在 Databricks env 中使用Spark/Scala ):

def loadDataFromSnowFlake(SfOptions: Map[String, String], query: String): DataFrame =
    spark.read
        .format("net.snowflake.spark.snowflake")
        .options(SfOptions)
        .option("query", query)
        .load()
    }

val SfOptions = ???
val query  = "SELECT * FROM databaseName.public.tableName LIMIT 10"
val testDf = loadDataFromSnowFlake(SfOptions, query)
    
testDf.show()
testDf.show()

问题是脚本末尾的两个 show() 给我发回了两个不同的结果,我不明白当我的数据帧testDf被声明为不可变时怎么可能。

我希望对此作出澄清。非常感谢。干杯

标签: scalaapache-sparksnowflake-cloud-data-platformdatabricks

解决方案


让我们尝试在 Snowflake 端排序数据:

SELECT      * 
FROM        databaseName.public.tableName 
ORDER BY    <column_name> 
LIMIT       10

这可能是个问题。作为替代方案,您可以使用该display(testDf)功能。Python 支持它,但我不确定 Scala。


推荐阅读