从Databricks环境加载SnowFlake数据时出现意外行为



我正试图从Snowflake表中加载数据,如下所示(在Databricks环境中使用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被声明为不可变时,这是怎么可能的。

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

show((不能保证返回相同的输出。它只打印了20行。如果您下次调用show,您可能会得到不同的输出

我运行了一些测试用例,发现即使在同一个数据帧上运行show()也能打印出相同的输出。

让我们尝试在Snowflake端订购数据:

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

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

最新更新