编辑:错误来自Spark的_SUCCESS
文件。在SQL查询中只包含parquet文件:pattern = '.*parquet'
原件:
Snowflake可以加载我的多部分Parquet文件吗?我有其他在同一技术堆栈中工作的插入,但它们都使用一个单一的Parquet文件。我想知道数据是否在后台分区或以其他方式变得无法识别Snowflake
下面是我的简化查询
COPY INTO database.schema.table
FROM (
SELECT $1
FROM @database.schema.stage/path_to_parquet
)
file_format = (type = parquet)
字符串
我在尝试将S3中的数据复制到Snowflake表时遇到此错误:
snowflake.connector.errors.ProgrammingError: 100152 (22000):
Error parsing the parquet file:
Invalid:
Parquet file size is 0 bytes
Row 0 starts at line 0, column
型
如果有帮助,生成parquet文件的命令如下所示:
spark_dataframe.select("date", "cityid", "prediction")
.write.mode("overwrite")
.parquet(predictions_path)
型
和一个parquet文件的示例(snappy压缩-- snowflake 默认)
_SUCCESS
part-00000-75a71af4-e797-417a-a2f1-1c31cf9dc891-c000.snappy.parquet
part-00001-75a71af4-e797-417a-a2f1-1c31cf9dc891-c000.snappy.parquet
part-00002-75a71af4-e797-417a-a2f1-1c31cf9dc891-c000.snappy.parquet
part-00003-75a71af4-e797-417a-a2f1-1c31cf9dc891-c000.snappy.parquet
part-00004-75a71af4-e797-417a-a2f1-1c31cf9dc891-c000.snappy.parquet
型
1条答案
按热度按时间juzqafwq1#
我在输入这个问题时发现了这个问题。我的parquet文件列表中有
_SUCCESS
,这是Spark中的一个零大小文件。这个文件导致了Parquet file size is 0
错误。为了解决这个问题,我在查询中添加了
pattern = '.*parquet'
来忽略该文件,如下所示:字符串