Snowpark-如何使用 Snowpark 会话从阶段文件中读取?

问题描述 投票:0回答:1

我在阶段中有多个文件,想要从中读取内容。

例如,我在本例的阶段中有以下文件 - 单个文件

from snowfake.snowpark.context import get_active_session

session = get_active_session()

location = "@data_stage/emp_data/file_path/emp.paraquet"

df = session.read.paraquet(location)

df.show()

此文件有 3 列名称,并且在结果中仅返回空行值。

这是从 Snowpark 的阶段文件中检索内容的正确方法吗?

谢谢

python-3.x apache-spark pyspark snowflake-cloud-data-platform
1个回答
0
投票

我注意到您的代码中存在拼写问题(您使用“paraquet”代替“parquet”)。我假设这不是问题,因为它会出错,但只是想让您意识到这一点。如果舞台中的文件名为“paraquet”,则将无法正确读取它们。

这是在舞台中读取镶木地板的标准方法。我几乎可以完全使用您的语法从我自己的 S3 阶段之一读取镶木地板文件。

或者,您可以使用

session.sql
和 select 语句来查看暂存文件中的内容:

select_statement = ("SELECT * FROM @data_stage/emp_data/file_path/emp.parquet")
df = session.sql(select_statement).collect_nowait().to_df()

df.show()
© www.soinside.com 2019 - 2024. All rights reserved.