Skip to content

Conversation

@sfc-gh-prsingh
Copy link
Owner

While working with this #1 I realized an extension is actually an overkill specially when i came across V1Table interface which keeps an abstraction to work with V2 interface with a source which is mostly V1, which is the same case here i,.e Spark Snowflake connector is a V1 source but iceberg is an V2 source

what this change essentially does is that in loadTable when it sees the table is FGAC protected it creates a V1 Table for snowflake relation which spark later will use to create the Snowflake relation and hence the whole need of having an extension goes aways

a user now just needs this config all in all and not the extension rest all is taken care

  --conf "spark.sql.catalog.COTOPAXI_CATALOG=org.apache.spark.sql.snowflake.catalog.SnowflakeFallbackCatalog" \
  --conf "spark.sql.catalog.COTOPAXI_CATALOG.catalog-impl=org.apache.iceberg.spark.SparkCatalog" \

I tested with OSS spark it works :)

cc @sfc-gh-hgao

)

// Get Snowflake connection properties from SparkConf only
val snowflakeProps = spark.conf.getAll.filter { case (key, _) =>
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: handle feedback from PR#1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants