Snowpark For Python
Snowpark For Python
com/NickAkincilar/Sample_Snowpark_Demos/blob/main/
Snowpark_Data_Engineering_Public.ipynb
https://h2o.ai/blog/h2o-integrates-with-snowflake-snowpark-java-udfs-how-to-better-leverage-
the-snowflake-data-marketplace-and-deploy-in-database/
Install Snowpark
In [ ]:
# !pip install snowflake-snowpark-python
# import pyspark.sql.functions as f
# from pyspark.sql import SparkSession
# from pyspark.sql.functions import udf,col
# from pyspark.sql.types import IntegerType
# spark = SparkSession.builder.appName("DataEngeering1").getOrCreate()
import snowflake.snowpark.functions as f
from snowflake.snowpark import Session, DataFrame
from snowflake.snowpark.functions import udf, col
from snowflake.snowpark.types import IntegerType
from snowflake.snowpark.functions import call_udf
Warehouse_Name = 'MY_DEMO_WH'
Warehouse_Size = "LARGE"
DB_name = 'DEMO_SNOWPARK'
Schema_Name = 'Public'
CONNECTION_PARAMETERS= {
'account': '<Snowflake_Account_Locator>',
'user': 'SomeUser',
'password': 'Not4u2Know',
'role': 'SYSADMIN'
}
print("Connecting to Snowflake.....\n")
session = Session.builder.configs(CONNECTION_PARAMETERS).create()
print("Connected Successfully!...\n")
session.sql(sql_cmd).collect()
session.use_database(DB_name)
session.use_schema(Schema_Name)
session.use_warehouse(Warehouse_Name)
Connecting to Snowflake.....
Connected Successfully!...
dfLineItems = session.table("SNOWFLAKE_SAMPLE_DATA.TPCH_SF100.LINEITEM")
# 600 Million Rows
dfSuppliers = session.table("SNOWFLAKE_SAMPLE_DATA.TPCH_SF100.SUPPLIER")
# 1 Million Rows
# 3 - JOIN TABLES
dfJoinTables = dfLineItems.join(dfSuppliers,
dfLineItems.col("L_SUPPKEY") ==
dfSuppliers.col("S_SUPPKEY"))
print("Completed!...\n\n")
print("Completed!...\n")
-------------------------------------------------------------------------
-
|"S_NAME" |"L_PARTKEY" |"TOTAL_QTY" |"MIN_QTY" |"MAX_QTY"
|
-------------------------------------------------------------------------
-
|Supplier#000941845 |13441818 |163.00 |14.00 |45.00
|
|Supplier#000816569 |1316566 |287.00 |3.00 |50.00
|
|Supplier#000305838 |18555783 |219.00 |3.00 |49.00
|
|Supplier#000030491 |10030490 |203.00 |4.00 |47.00
|
|Supplier#000659231 |1409229 |158.00 |19.00 |50.00
|
|Supplier#000911793 |13911792 |310.00 |2.00 |49.00
|
|Supplier#000560166 |9310156 |108.00 |6.00 |44.00
|
|Supplier#000598113 |7598112 |155.00 |12.00 |47.00
|
|Supplier#000951634 |16701617 |190.00 |9.00 |50.00
|
|Supplier#000460895 |7210887 |268.00 |4.00 |49.00
|
-------------------------------------------------------------------------
-
Reducing the warehouse to XS..
Completed!...
--- 19 seconds to Join, Summarize & Write Results to a new Table ---
https://github.com/NickAkincilar/Sample_Snowpark_Demos