Skip to content

Commit

Permalink
[PLUGINS] Bump Version [snowflake]
Browse files Browse the repository at this point in the history
  • Loading branch information
blythed committed Jan 30, 2025
1 parent 3930cb0 commit 2dad709
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 6 deletions.
2 changes: 1 addition & 1 deletion plugins/snowflake/superduper_snowflake/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from .vector_search import SnowflakeVectorSearcher as VectorSearcher
from .data_backend import SnowflakeDataBackend as DataBackend

__version__ = "0.5.13"
__version__ = "0.5.14"

__all__ = [
"VectorSearcher",
Expand Down
31 changes: 26 additions & 5 deletions plugins/snowflake/superduper_snowflake/data_backend.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,16 +82,37 @@ def reconnect(self):
super().reconnect()
self.snowpark = self._get_snowpark_session(self.uri)

# def insert(self, table_name, raw_documents):
# ibis_schema = self.conn.table(table_name).schema()
# df = pandas.DataFrame(raw_documents)
# rows = list(df.itertuples(index=False, name=None))
# columns = list(ibis_schema.keys())
# df = df.to_dict(orient='records')
# get_row = lambda row: [row[col] for col in columns]
# rows = list(map(get_row, df))
# snowpark_cols = ibis_schema_to_snowpark_cols(ibis_schema)
# snowpark_schema = snowpark_cols_to_schema(snowpark_cols, columns)
# native_df = self.snowpark.create_dataframe(rows, schema=snowpark_schema)
# return native_df.write.saveAsTable(f'"{table_name}"', mode='append')

def insert(self, table_name, raw_documents):
ibis_schema = self.conn.table(table_name).schema()
df = pandas.DataFrame(raw_documents)
rows = list(df.itertuples(index=False, name=None))

# Ensure columns match the expected schema
columns = list(ibis_schema.keys())
df = df.to_dict(orient='records')
get_row = lambda row: [row[col] for col in columns]
rows = list(map(get_row, df))
df = df[columns] # Keep only relevant columns

# Convert to list of lists
rows = df.values.tolist()

# Convert schema for Snowpark
snowpark_cols = ibis_schema_to_snowpark_cols(ibis_schema)
snowpark_schema = snowpark_cols_to_schema(snowpark_cols, columns)

# Create Snowpark DataFrame
native_df = self.snowpark.create_dataframe(rows, schema=snowpark_schema)
return native_df.write.saveAsTable(f'"{table_name}"', mode='append')

# Save table with correct format
return native_df.write.saveAsTable(f'"{table_name}"', mode='append')

0 comments on commit 2dad709

Please sign in to comment.