我正试图从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。