我希望将数据从S3加载到Snowflake。我的文件为Parquet格式,是由Spark作业创建的。在S3中,我的文件夹中有199个镶木地板文件,每个文件约有5500条记录。每个镶木地板文件都经过快速压缩,约为485 kb。
我已经成功创建了存储集成并暂存了数据。但是,当我读取数据时,会收到以下消息:
Max LOB size (16777216) exceeded, actual size of parsed column is 19970365
我相信我已经遵循了General File Sizing Recommendations,但是我仍然无法找到解决此问题的方法,甚至无法清楚地说明此错误消息。
这是我的SQL查询的基础:
CREATE OR REPLACE TEMPORARY STAGE my_test_stage
FILE_FORMAT = (TYPE = PARQUET)
STORAGE_INTEGRATION = MY_STORAGE_INTEGRATION
URL = 's3://my-bucket/my-folder';
SELECT $1 FROM @my_test_stage(PATTERN => '.*\\.parquet')
通过将CREATE STAGE查询中的URL参数更改为实木复合地板文件的完整路径,我似乎能够分别读取每个实木复合地板文件。我真的不想遍历每个文件来加载它们。
答案 0 :(得分:1)
VARIANT数据类型对单个行施加了16 MB(压缩)的大小限制。
结果集实际上是作为虚拟列显示的,因此也适用16MB的限制
答案 1 :(得分:1)
文件中的一个或多个记录可能存在问题,请尝试使用“ ON_ERROR”选项运行copy命令,以调试所有记录是否都存在类似问题或只有几个问题。