我正在尝试将数据从spark加载到snowflake中。雪花负载是利用火花发动机还是将其完全压向雪花?
谢谢,Naveed
截至2020年初,Spark使用Snowflake连接器的写作分为两个基本阶段。
首先,数据集以理想的文件大小和格式(默认情况下为CSV
,但如果数据集字段包括变体类型,则使用JSON
(写入自动定义为阶段的基于云的存储(S3
、WASB
等(位置,这是一个利用Spark执行引擎的分布式步骤。
接下来,使用COPY INTO
语句将上载到stage的文件加载到目标Snowflake表中。
Spark连接器通过捕获以及分析SQL操作的Spark逻辑计划。当数据源是Snowflake,操作被转换为SQL查询,然后在Snowflake中执行以提高性能。
然而,因为这种翻译几乎需要一对一将Spark SQL运算符转换为Snowflake表达式,而不是全部的Spark SQL运算符。当按下失败时连接器返回到优化程度较低的执行计划。这个取而代之的是在Spark中执行不受支持的操作。